updated analytics with async