Skip to main content

Hi, 

My app has a listing of multiple merchants in a scrollable format. A customer can scroll on the home page and easily view 50 different merchants in a single session. I’d like to track merchant impressions i.e. the number of times each merchant appears on the screen. 

Any recommendations on the best way to do this ? I’d rather not fire an event for each merchant that appears. Would amplitude SDK have some type of aggregation capability that can combine multiple events into a single event with an array of merchant names that appeared ?

Thanks 

I’ve wired this up for several similar use cases on our website. In each case there’s an event pushed containing an initial batch of 4 impressions (such as “view holiday package results”) followed by events containing subsequent batches of 4 as the user scrolls (such as “scroll holiday search results”). This makes use of Amplitude’s object arrays passed with the events (https://help.amplitude.com/hc/en-us/articles/9623000954907-Cart-analysis-Use-object-arrays-to-drive-behavioral-insights) and should also work for you.

As you rightly point out, you don’t want a 1-to-1 relationship of events to “products” (merchants in your case) as this is too server-call happy…though you also don’t want too many in one event as this will be too far from the actual user experience. Use what makes sense for your site’s design, giving a good balance between data perfectly matching user experience and server calls (we go with 4 products to an event).


Thank you @dangrainger, this is very helpful, much appreciated !


Yes! Many thanks @dangrainger😃


Reply