In order for Avatria Convert to generate effective rankings, you'll need to have Google Analytics Enhanced Ecommerce tracking properly implemented on your site. Below is an overview of the Enhanced Ecommerce suite, along with notes that will help you assure that your tags are properly configured for Convert.
For specific technical guidance, we recommend that you refer to Google's documentation. Links are included throughout this article for convenience.
Table of Contents
- Overview
- Product Impressions
- Product List Clicks
- Product Detail Views
- Adds to Cart
- Removes
- Checkouts
- Purchases
- Parameter Reference
- Common Mistakes
- References
Overview
Below is a guide to the requirements for using Convert, as well as general recommendations for implementing these tags.
Required Tags:
- Product Impressions
- Product Clicks
- Product Detail Views
- Adds to Cart
- Checkouts
- Purchases
General Tagging Best Practices:
- We recommend that all Enhanced Ecommerce actions should be configured as event tags.
- Event tags have four Parameters that can be configured: Category, Action, Label, and Value. We recommend following a standard convention for these parameters
- Category is required, and should be defined as EEC, or something similar that will indicate the tag is an Enhanced Ecommerce tag.
- Action is required, and should be defined as the the ecommerce action recorded, such as "list view", "add", or "purchase".
- Label is optional. If you choose to configure this parameter, we recommend a value related to the source. This could be a list name, product name, or page.
- Value is optional, and must be an integer.
- Event tags have four Parameters that can be configured: Category, Action, Label, and Value. We recommend following a standard convention for these parameters
- Be sure to include the Currency Code parameter in all tags. This will ensure that we can use product pricing in our ranking models.
Note: Event parameters are different from the Enhanced Ecommerce parameters discussed in below sections.
Advanced Tracking Parameters:
To enable personalization features and advanced reporting capabilities, we strongly recommend that you set up custom dimensions to record the following parameters:
- User ID
- Create a cookie with a randomized value that can persist across sessions and devices for logged-in users, and across sessions for non-logged-in users.
- Dimension Scoping: User
- For technical guidance on how to best implement this, contact us at convert.support@avatria.com
- Session ID
- Create a cookie with a randomized value that expires at the end of a session.
- Dimension Scoping: Session
- If using GTM, we recommend following Simo Ahava's guide to configure this parameter.
- Note: We do not recommend following the steps in this article for collecting User IDs, as the solution is too limited to provide high quality personalization with Convert.
*Note: Tracking user-based information may have GDPR and other privacy-based implications. As in all matters of digital privacy, we recommend discussing these issues with a lawyer, and receiving consent from users before beginning collection.
Product Impressions
Product impressions (also known as product list views) track if a customer has viewed a product in a list, such as on a category listing page, search results, or recommendation widget.
Tracking impressions is critical, as it allows us to measure the relative opportunity each product has had to be purchased. By accounting for opportunity, you can gain a deeper understanding of how different products performed, given their exposure.
For technical guidance on how to implement this tag, please see the relevant documentation in the References section below.
Required Parameters
- List Name
- Product ID (SKU)
- Position
Recommended Parameters
- Product Name
- Price
- Brand
Implementation Notes
- The Product ID recorded should capture the product as displayed on the page, and will be used as the product identifier throughout the rest of the funnel.
- For example, if a single listing is used for a product with multiple colors, sizes, or some other variant, you may want to select a parent-level identifier, as using a child-level SKU can cause confusion later in the funnel.
- For proper attribution, the List Name parameter should be unique for each category. Shared List Name parameters will result in inaccurate rankings.
- When recording impressions for search results, we recommend setting the Product List Name parameter using a standard format of "Search Results - [query]".
- When recording impressions for carousels/recommendation widget, we recommend setting the Product List name parameter using a standard format of "[Carousel Name] - [Location]"
- Depending on how granular you want your data collection to be, location can be defined as a page type (Home, PDP, etc.) or a specific page (PDP SKU/URL).
- For best results, we recommend recording a product impression only when a product is visible on the page.
- For more information, see the True View Impression Tracking article referenced below.
- A product impression should be recorded only once for each product per page.
- However, if a filter or sort order is applied, we would recommend firing new impressions for all products in the list.
- The Position parameter should record the position of the product in relation to the overall list. For example, the first product on the second page of results should have a position of 25, not 1 (assuming that there are 24 products visible per page).
- Similarly, if a filter is applied to the list, the position parameter should record the product's position in relation to the filtered list.
References
- Google Documentation for Analytics.js
- Google Documentation for Data Layer/GTM
- Google Documentation for gtag.js
- True View Impression Tracking with GTM
Product Clicks
Product clicks track when a user clicks on a product from a product list.
Product clicks are essential, as they begin the attribution chain in Google Analytics.
For technical guidance on how to implement this tag, please see the relevant documentation in the References section below.
Required Parameters
- Action (Event)
- List Name
- Product ID (SKU)
- Position
Recommended Parameters
- Product Name
- Price
- Brand
Notes
- The Product ID must match the ID parameter passed for the same product in the impression tag.
- Failure to do so will prevent Convert from associating the two products together.
- The List Name parameter must match the list name parameter passed in the impression tag.
- Failure to do so will prevent Convert from attributing the click and any future actions on the product back to the list.
- The Position parameter should record the position of the product in relation to the overall list. For example, the first product on the second page of results should have a position of 25, not 1 (assuming that there are 24 products visible per page).
- Similarly, if a filter is applied to the list, the position parameter should record the product's position in relation to the filtered list.
- If the site allows a user to add a product to the cart directly from a product list, a product click tag should fire in addition to the cart tag. This will assure that the cart is attributed to the appropriate product list.
References
- Google Documentation for Analytics.js
- Google Documentation for Data Layer/GTM
- Google Documentation for gtag.js
Product Detail View
Product detail views track when a user views the product detail page for a product.
For technical guidance on how to implement this tag, please see the relevant documentation in the References section below.
Required Parameters
- Action (Event)
- Product ID (SKU)
Recommended Parameters
- Product Name
- Price
- Brand
Notes
- The Product ID must match the ID parameter passed for the same product in the impression and click tags.
- Failure to do so will prevent Convert from associating the products and attributing the action back to the list that drove it.
References
- Google Documentation for analytics.js
- Google Documentation for Data Layer/GTM
- Google Documentation for gtag.js
Adds to Cart
Add to cart tags track when a user adds a product to their cart.
For technical guidance on how to implement this tag, please see the relevant documentation in the References section below.
Required Parameters
- Action (Event)
- Product ID (SKU)
- Quantity
Recommended Parameters
- Product Name
- Price
- Brand
- Variant
Notes
- The Product ID must match the ID parameter passed for the same product in the impression, click, and detail tags.
- Failure to do so will prevent Convert from associating the products and attributing the action back to the list that drove it.
- Add to cart tags should fire from wherever a product can be added to a cart, including directly from product lists
References
- Google Documentation for analytics.js
- Google Documentation for Data Layer/GTM
- Google Documentation for gtag.js
Removes
Remove tags track when a user removes a product from their cart.
For technical guidance on how to implement this tag, please see the relevant documentation in the References section below.
Required Parameters
- Action (Event)
- Product ID (SKU)
- Quantity
Recommended Parameters
- Product Name
- Price
- Brand
- Variant
Notes
- Remove data is not used by Convert, but may be useful for internal data analysis.
- We recommend that the Product ID match the ID parameter passed for the same product in the add to cart tag.
- Remove tags should fire from wherever a product can be removed from a cart.
References
- Google Documentation for analytics.js
- Google Documentation for Data Layer/GTM
- Google Documentation for gtag.js
Checkouts
Checkout tags track when a product progresses to the checkout stage of the shopping funnel. Checkout tags can also track how far into the checkout flow a product progresses, if multiple steps exist.
For technical guidance on how to implement this tag, please see the relevant documentation in the References section below.
Required Parameters
- Action (Event)
- Product ID (SKU)
- Quantity
- Step
Recommended Parameters
- Product Name
- Price
- Brand
- Variant
Notes
- The Product ID must match the ID parameter passed for the same product in the impression, click, detail, and add tags.
- Failure to do so will prevent Convert from associating the products and attributing the action back to the list that drove it.
- If multiple steps exist in the checkout flow, the Step parameter must be included; otherwise, duplicate checkouts will be recorded for each product at each step.
References
- Google Documentation for Analytics.js
- Google Documentation for Data Layer/GTM
- Google Documentation for gtag.js
Purchases
Purchase tags track when a transaction is completed.
For technical guidance on how to implement this tag, please see the relevant documentation in the References section below.
Required Parameters
- Action (Event)
- Product ID (SKU)
- Quantity
- Transaction ID
Recommended Parameters
- Product Name
- Price
- Brand
- Variant
- Transaction ID
- Revenue
- Tax
- Shipping
- Affiliation
Notes
- The Product ID must match the ID parameter passed for the same product in the impression, click, detail, add, and checkout tags.
- Failure to do so will prevent Convert from associating the products and attributing the action back to the list that drove it.
References
- Google Documentation for Analytics.js
- Google Documentation for Data Layer/GTM
- Google Documentation for gtag.js
Parameter Reference
Parameter | Notes |
Action (Event) | Defines the eCommerce action taken. |
List Name | The name of the product list from which the product impression arises. Product list can refer to a category page, search results set, carousel, or widget. |
Product ID | The product SKU or other identifier. For proper attribution, the product ID must remain consistent throughout the entire shopping funnel. |
Product Name | The name of the product. Non-required, but can make data more readable. |
Price | The product price displayed to the customer. Any discounts should be reflected in the value, as it is used to calculate the total transaction price (if not explicitly defined). |
Brand | The brand or vendor of the product. |
Position |
The position of a product in a list. The first position is 1, second position is 2, etc. If a product list has multiple pages, the position recorded on pages beyond the first should continue from where the previous page left off. If a user filters a product list, the position parameter should capture the position of the product in the filtered view. |
Quantity | The quantity of an item added to the cart, checked out, or purchased. |
Variant | If a product has multiple options (such as color or size), this parameter can be used to record the variant-specific information. This can be recorded as a variant ID or the variant information. |
Step |
If a checkout process has multiple steps/pages, recording the Step parameter will unlock Google Analytics' Checkout Behavior report. Must be recorded as a number, starting with 1. If the checkout tag fires on multiple steps, but the step parameter isn't included, multiple checkouts will be recorded for each product included in the tag. |
Transaction ID | The ID string for a completed transaction. |
Common Mistakes
ID Mismatch
As mentioned above, the ID parameter used to track a product must be consistent throughout the entirety of the funnel (from Product Impression to Purchase). If the ID recorded changes for any reason, Convert will be unable to connect the first ID's actions to the actions of the second ID, resulting in unreliable rankings.
This error often occurs when a site has products with multiple variants, and uses a single listing for the entire set. In this instance, the product list often records a parent-level ID on impression, click, and detail tags, but then will record the variant-level ID for cart, checkout, and purchase actions.
To resolve this issue, we recommend setting the ID used on the impression tag as the ID parameter for each tag. Variant information can be captured using the variant parameter or custom dimensions.
List Attribution Errors
A list attribution error occurs when an action (such as a click) is attributed to a category page or search result that didn't drive the action. There are a couple of types of list attribution errors we commonly see:
Improper List Attribution
Improper list attribution can occur for a variety of reasons, but is most commonly seen when a product appears in multiple lists/categories. Rather than configure the list name parameter to capture the list being viewed, some sites configure the list name parameter to record a general product attribute (such as category). This will result in the same list being attributed regardless of where the product was actually viewed.
Generalized List Definitions
Another common list attribution error arises from sites that define their list names too broadly. This sometimes takes the form of general list types (Search Results, Category, etc.), and other times is caused by lists with identical names somewhere on the page ("Men's" as a stand-in for Men's Jackets, Men's Shoes, etc.). When lists are defined too broadly, the behavior of customers on different pages will be combined, resulting in less reliable rankings from Convert.
Multiple Checkout Steps
If a site has multiple checkout steps, it's crucial to record the Step parameter. Google Analytics only counts a checkout towards a product if the Step parameter is set to 1 or if it's missing. As such, if a site has multiple steps, but does not include the Step parameter at each step, the checkout count for products will be heavily inflated.
Similarly, if a site is using the Step parameter, but has the first step set to a page that a user isn't required to proceed through (such as the cart page), checkouts will be artificially undercounted.
Product Impressions on Infinite Scrolling Pages
Although infinitely scrolling product lists often offer a quality user experience, they sometimes prove a challenge to tag properly. As it is common for sites to load impressions for all products available on the page at load time, this will sometimes result in impressions being recorded for several hundred products, despite the fact that the vast majority will never be seen by the shopper. Alternatively, sometimes sites will load impressions for the first batch of products, but fail to fire additional impressions when the next set of products in the list loads.
Remember, impressions should be recorded for all products a customer is likely to have viewed. Failing to do so will result in less reliable rankings from Convert. We recommend implementing True View Impressions on pages with infinite scrolling, as it provides the best quality data collection, and assures you won't fall prey to the error mentioned above. For more information on True View Impression tracking, see the Additional References section below.
Incorrect Positions
If a category or set of search results features multiple pages of products, its important that the Position parameter accurately reflect the product's true position in the list. Unfortunately, some sites will mistakenly define the Position in relation to the current page, rather than the overall list.
This results in a situation where identical position parameters are recorded for multiple products in a list, throwing off our understanding of how products perform in different locations.
Duplicate Pageviews
A general data quality issue we sometimes see is caused by sites configuring their Enhanced Ecommerce tags as pageview tags, rather than event tags. When this occurs, Google Analytics will record a pageview from the standard pageview tag as well as the Enhanced Ecommerce tag, duplicating the count.
As a standard best practice, we recommend creating unique tags for each Enhanced Ecommerce action, and setting all of them to be events.
Bounce Rate Inflation Caused by Non-Interaction Hit Settings
If you've recently implemented Enhanced Ecommerce and are noticing a Bounce Rate that's higher or lower than usual, it may be an indication that you have the Non-Interaction Hit setting configured incorrectly on your tags.
If Non-Interaction Hit is set to False, Google Analytics will treat the tag firing as an indication that the user interacted with the website. This should be the case for Product Clicks, Product Adds to Cart, and Removes.
On the other hand, you should configure Non-Interaction Hit to True for Product Impressions, Product Detail Views, Checkouts, and Purchases tags, so that bounces can be properly recorded on these pages.
Referral Exclusions
If your site temporarily sends a user to a different domain in the course of the shopping experience, by default, Google Analytics will record the start of a new session upon the user returning to the site. Common situations in which this occur include third-party authentication services (such as completing checkout via PayPal, Apple Pay, Google Pay, or similar services) and externally hosted checkout experiences (standard for basic Shopify sites).
To avoid this issue, you should update the Referral Exclusion List in your Google Analytics property to include any relevant domains or subdomains. For more information, see Google's documentation here: https://support.google.com/analytics/answer/2795830?hl=en
Special Characters
Be careful: if any product data you intend to record as a product or action parameter includes special characters that would interfere with the syntax of your tags (such as " or '), it can prevent critical information from being sent to Google Analytics. Escaping special characters will typically resolve this issue.
As ever: test your tags carefully and comprehensively.
References
Google Analytics Enhanced Ecommerce for analytics.js Developer Guide
Google Analytics Enhanced Ecommerce for Data Layer/GTM Developer Guide
Google Analytics Enhanced Ecommerce for gtag.js Developer Guide
True View Impression Tracking with GTM
Simo Ahava's Enhanced Ecommerce Guide for Google Tag Manager
- This is a detailed guide to everything Enhanced Ecommerce, and is an invaluable guide if you're using GTM to configure your tags.
Simo Ahava's guide to recording Session IDs
Google Analytics documentation on Referral Exclusions