Understanding your Eulerian (Client-Side) tagging plan



What is a tagging plan?

Imagine your website is like a large supermarket. Each aisle represents a different section of your site, and each product is a possible feature or interaction for your visitors.

Now, if you want to understand which products are most popular, what times of day customers most often visit certain aisles, or even how much time they spend contemplating a product before buying it (or abandoning their purchase), you will need a system to track this information.

This is where the tagging plan comes in.

Just as you might place sensors in a supermarket to track customer movements and behavior, a tagging plan determines where and how to place "tags" on your website to track user interactions.

These tags capture valuable information every time a visitor performs an action (such as visiting a page, clicking on a link, filling out a form, etc.) and transmit this data to Eulerian for analysis, attribution & activation.

Why is the tagging plan important?


For an attribution project:
Attribution is the practice of determining which marketing channels (such as paid advertising, organic search, social media) have contributed most to a desired action, such as a sale or a lead.

To do this, it is necessary to be able to track the user's journey on the site where the sale or lead will take place.

Without an adequate tagging plan, it will be difficult or even impossible to analyze the quality of traffic sources (and their profitability in the case of paid marketing campaigns).

A well-thought-out tagging plan will also add depth to the quality and profitability analysis of traffic sources.

If, for example, you wish to be able to analyze the performance of a traffic source for certain categories of products sold on your site, you will first need to have correctly collected the information related to the products at the time of sale.

For a analytics project:
Analytics is the study of user behavior on a website. It's like a detailed map that shows where visitors go, what they like or dislike, and where they abandon their journey.

Without a good tagging plan, your map would be incomplete or unclear.

You could be missing crucial information about how users interact with your site, which could lead you to make decisions based on incomplete data.

For a Customer Data Platform (CDP) project:
A CDP is a technology that collects, unifies, and segments customer profiles from different sources.

It allows companies to understand their customers holistically, create audiences (groups of users who share common characteristics) and be able to synchronize/send these audiences to advertising platforms for the purpose of targeting or excluding marketing campaigns.

The tagging plan ensures that all relevant interactions are captured and sent to the CDP.

Without proper tagging, your CDP may not have a complete view of the customer, thus limiting its ability to personalize experiences and effectively target ads.


Important considerations

Eulerian tag types


Generic Tag : This refers to almost all the pages on your site. This tag allows us to count these pages.

/* Generic tag */

var EA_datalayer = [

"path","<page name>",
"pagegroup","<page group>",
"uid","<unique user id>",
// More user information

"email","<hashed_email_sha156>",
"profile","visitor"

]);

EA_push(EA_datalayer);
</script>

Product Tag : This refers to all pages presenting a single product; it counts the product page viewed, the product data associated with the product page present, and identifies the users who visited that page.

/* Product page */

<script type="text/javascript">

var EA_datalayer = [

"path","<page name>",
"pagegroup","<page group>",
"uid","<unique user id>",
// More user information

"email","<hashed_email_sha156>",
"profile","looker"

"prdref","<product_sky>",
"prdname","<product_name>",
"prdgroup","<product_group>"

];

EA_push(EA_datalayer);
</script>

Category Tag: A category page is defined as having at least three products on the same page. This tag identifies a page containing a product listing. It is triggered each time the category page loads.
/* Category Page */

<script type="text/javascript">

var EA_datalayer = [
"path","<page name>",
"pagegroup","<page group>",
"uid","<unique user id>",
// More user information

"email","<hashed_email_sha156>",

// Product Info
"prdref","<product sku 1>",
"prdref","<product sku 2>",
"prdref","<product sku 3>"
];

EA_push(EA_datalayer);
</script>

Internal Search Engine Tag: This tag allows you to display user queries entered into your internal search engine (which must be declared in the tag) in the user interface. If you have a search engine, this tag will be triggered on the results page.

Note : The isearch values ​​must be declared beforehand.
/* Internal search engine */

<script type="text/javascript">

var EA_datalayer = [
"path","<page name>",
"pagegroup","<page group>",
"uid","<unique user id>",
// More user information

"email","<hashed_email_sha156>",

"isearchengine","<name_searche_engine>",
"isearchresults","<number of total results>"

// Note : you can add much isearchkey-isearchdata entries as
// you have search parameters to track

"isearchkey","<search_param>",
"isearchdata","<search_value>"

];

EA_push(EA_datalayer) ;
</script>

Esimate / Lead / Quote Tag: These are the "secondary" objectives of your site, anything you consider an engaging action that converts your user into a lead (account creation, form completion, newsletter sign-ups, etc.). This tag is triggered when the action is completed.

/* Lead Tag */

<script type="text/javascript">

var EA_datalayer = [

"path","<page name>",
"pagegroup","<page group>",
"uid","<unique user id>",
// More user information

"email","<hashed_email_sha156>",

// Lead info
"ref", "<unique_lead_id>",
"estimate","1",
"type","<lead_type>",

// CRM parameter
"<crm_parameter_1>","<crm_parameter_value_1>",
"<crm_parameter_2>","<crm_parameter_value_2>",
"<crm_parameter_3>","<crm_parameter_value_3>",

// Lead custom parameter
"<custom_conversion_parameter_1>","<custom_conversion_parameter_value_1>",
"<custom_conversion_parameter_2>","<custom_conversion_parameter_value_2>",
"<custom_conversion_parameter_3>","<custom_conversion_parameter_value_3>"

];

EA_push(EA_datalayer);
</script>


Shopping Cart Page Tag: triggers on the cart page and/or when a user clicks "add to cart". Counts a cart started, measures conversion and cart abandonment rates, collects shopping cart contents, and enables audience building based on cart-related behaviors.

/* Cart page */

<script type="text/javascript">

var EA_datalayer = [

"path","<page name>",
"pagegroup","<page group>",
"uid","<unique user id>",
// More user information

"email","<hashed_email_sha156>",
"profile","shopper"

"scart","1",
"scartcumul","0",

// Product information

// Provide as much products you have by repeating the following block

"prdref","<product_sku>"
"prdamount","<product_product>",
"prdquantity","<quantity_sold>",
"prdparam-<custom_product_parameter_1>","<value_custom_product_parameter_1>",
"prdparam-<custom_product_parameter_2>","<value_custom_product_parameter_2>",
"prdparam-<custom_product_parameter_3>","<value_custom_product_parameter_3>",


// CRM parameter
"<crm_parameter_1>","<crm_parameter_value_1>",
"<crm_parameter_2>","<crm_parameter_value_2>",
"<crm_parameter_3>","<crm_parameter_value_3>",

// Cart custom parameter
"<custom_conversion_parameter_1>","<custom_conversion_parameter_value_1>",
"<custom_conversion_parameter_2>","<custom_conversion_parameter_value_2>",
"<custom_conversion_parameter_3>","<custom_conversion_parameter_value_3>"

];

EA_push(EA_datalayer) ;
</script>

Purchase Confirmation Page Tag : This is the primary goal of your site, what you want the user to do. Most of the time, it's to make a purchase, but it's also possible to set a form to fill out or any other important interaction as the primary conversion. It's triggered on the Thank You page or the payment confirmation page to ensure the conversion is successfully completed.

/* Conversion tag */
<script type="text/javascript">

var EA_datalayer = [
"path","<page name>",
"pagegroup","<page group>",
"uid","<unique user id>",
// More user information

"email","<hashed_email_sha156>",
"profile","buyer"

"newcustomer","set to 1 for new customer",

// Transaction information
"ref","<unique_transactoin_id>",
"amount","<total_amount>",
"type","<transaction_type>",
"payment","<payment_type>",
"currency","<ISO code for currency>",

// Product information

// Provide as much products you have by repeating the following block

"prdref","<product_sku>"
"prdamount","<product_product>",
"prdquantity","<quantity_sold>",
"prdparam-<custom_product_parameter_1>","<value_custom_product_parameter_1>",
"prdparam-<custom_product_parameter_2>","<value_custom_product_parameter_2>",
"prdparam-<custom_product_parameter_3>","<value_custom_product_parameter_3>",


// CRM parameter
"<crm_parameter_1>","<crm_parameter_value_1>",
"<crm_parameter_2>","<crm_parameter_value_2>",
"<crm_parameter_3>","<crm_parameter_value_3>",

// Cart custom parameter
"<custom_conversion_parameter_1>","<custom_conversion_parameter_value_1>",
"<custom_conversion_parameter_2>","<custom_conversion_parameter_value_2>",
"<custom_conversion_parameter_3>","<custom_conversion_parameter_value_3>"
];
EA_push(EA_datalayer);
</script>


Error Tag : This tag allows you to retrieve URLs that have generated a 404 error page, so it should be triggered on pages that present this type of error when the page is loaded.


/* Error tag */
<script type="text/javascript">

var EA_datalayer = [
"error","1"
];
EA_push(EA_datalayer) ;

</script>

Tag action and custom goal tracking: Custom goal tracking is a complex event concept that allows for more advanced data capture. It precedes/complements the concepts of shopping cart/sale/lead.

/* Custom Goal */
<script type="text/javascript">
var EA_datalayer= [
"actionname", "form-subscribe1",
"path", "/i/am/here",

"actionmode", "in",
"actionlabel", "sales,form,blue",
"actionpname", "param1",
"actionref", "jb8VtnxBwnMhbq",

"actionpname", "param2",
"actionpvalue", "value1",

"actionpvalue", "randomvalue",
"actionpfinite", "0"
];

EA_push(EA_datalayer);
</script>

Here are some examples of reports generated by these different types of tags:
Tag type
Set of reports impacted by tag type
Generic
Overall summary, Analytics reports (page, page group, funnel, heatmap...)
Product
Overall summary, Product performance reports, Analytics reports
Category
Analytics Reports (Page Category, Page Group...)
Search engine
list of internal search engine queries and list of internal search engines
Estimate
Overall Summary, Product Performance, Data Mining: List of Quotes
Conversion
Overall Summary, Product Performance, Data Mining: Sales List
Error
Report pages in error
Action
Conversion tracking report and action report



Taxonomy


Definition : Taxonomy refers to the hierarchical classification or to the systematic organization of information or data into categories and subcategories, often based on common relationships or characteristics.

Example in the context of web analytics : Imagine an e-commerce company. It could have a taxonomy to organize its tracking events as follows:

  • Site visits (main category)
  • Visit the homepage
  • Visit the product page
  • Visit the basket
  • User actions (main category)
  • Add to cart
  • Pick up your basket
  • Purchase finalized
  • Interactions with content (main category)
  • View from a promotional video
  • Click on a promotional link
  • Newsletter signup

Purpose : By organizing events in this way, the company can easily analyze and understand user behavior in different sections or categories of interactions. The taxonomy facilitates data segmentation and enables more detailed and relevant analyses.


Naming conventions


Well-designed naming conventions ensure reliable and interpretable data. Here are some best practices for developing effective naming conventions:


1. Define your objectives

Before diving into tagging, clearly define your objectives. Ask yourself:
  • What KPIs do you want to track?
  • What type of user behavior do you want to analyze?
These objectives will guide your entire taxonomy.


2. Adopt a Consistent Nomenclature

Simplicity : Use clear and descriptive names. Prefer "click_button_purchase" to "cba".

Consistency : Be consistent in your naming conventions. If you use "click_" as a prefix for click actions, make sure you use it for all clicks.

Case sensitivity : Always use lowercase characters to avoid confusion. A taxonomy in "Click_Button" is different from "click_button" for some systems, which can lead to misinterpretations.

Avoid special characters : They can sometimes cause interpretation or encoding problems. Use underscores (_) instead of spaces or other characters.


3. Structure the Categories

Consider the hierarchy of data (taxonomy):

Category : Defines the global group (e.g., "videos", "buttons", "forms").
Action : Details the specific action (e.g., "play", "pause" for the "videos" category).
Label : Adds additional granularity, if needed (e.g., the video name).


4. Standardize your values

Ensure that similar or related events have normalized values. For example, do not use both "registration" and "registration" to refer to the same action.


5. Document Everything

Even with a well-designed taxonomy, without documentation you risk losing essential information:

Define each term : What exactly does "click_button_purchase" mean?
Provide examples : This helps to clarify the intent and use.
Update regularly : If the taxonomy changes, the documentation must follow.


6. Plan for Scalability

The taxonomy must be able to evolve over time. Your website or application will evolve, new features will be added, and others will be removed. Your taxonomy must be able to easily adapt to these changes.