Prerequisites
You should have already completed the lessons in Configure tags and Add the Identity Service.
Additionally, you will need at least one report suite ID and your tracking server. If you don’t have a test/dev report suite that you can use for this tutorial, please create one. If you are unsure how to do that, see the documentation. You can retrieve your tracking server from your current implementation, Adobe Consultant or Customer Care representative.
Add the Analytics Extension
The Analytics extension consists of two main parts:
-
The extension configuration, which manages the core AppMeasurement.js library settings and can set global variables
-
Rule actions to do the following:
- Set Variables
- Clear Variables
- Send the Analytics Beacon
To add the Analytics extension
-
Go to Extensions > Catalog
-
Locate the Adobe Analytics extension
-
Click Install
-
Under Library Management > Report Suites, enter the report suite ids you would like to use with each tag environment. If your users has access to Adobe Analytics, note that as you start typing in the box, you will see a pre-populated list of all of your report suites. (It’s okay to use one report suite for all environments in this tutorial, but in real life you would want to use separate report suites, as shown in the image below)
TIP
We recommend using the Manage the library for me option as the Library Management setting as it makes it much easier to keep theAppMeasurement.js
library up-to-date. -
Under General > Tracking Server, enter your tracking server, e.g.
tmd.sc.omtrdc.net
. Enter your SSL Tracking Server if your site supportshttps://
-
In the Global Variables section, under Additional Settings, set the Page Name variable using your
Page Name
data element. Click thePage Name
data element) -
Click Save to Library
Send the Page View Beacon
Now you will create a rule to fire the Analytics beacon, which will send the Page Name variable set in the extension configuration.
You have already created an “All Pages - Library Loaded” rule in the Add a data element, a rule and a library lesson of this tutorial, which is triggered on every page when the tag library loads. You could use this rule for Analytics as well, however this setup requires all data layer attributes used in the Analytics beacon to be defined before the tag embed codes. To allow more flexibility with the data collection, you will create a new “all pages” rule triggered on DOM Ready to fire the Analytics beacon.
To Send the Page View Beacon
-
Go to the Rules section in the left navigation and then and then click Add Rule
-
Name the rule
All Pages - DOM Ready
-
Click Events > Add to open the
Event Configuration
screen -
Select Event Type > DOM Ready (Note that the order of the rule is “50”)
-
Click Keep Changes
-
Under Actions, click the
-
Select Extension > Adobe Analytics
-
Select Action Type > Send Beacon
-
Leave Tracking set to
s.t()
. Note that if you wanted to make ans.tl()
call in a click-event rule you could do that using the Send Beacon action, as well. -
Click the Keep Changes button
-
Click Save to Library and Build
Validate the Page View Beacon
Now that you have created a rule to send an Analytics beacon, you should be able to see the request in the Experience Cloud Debugger.
-
Open the Luma site in your Chrome browser
-
Click the Debugger icon
-
Make sure the Debugger is mapping the tag property to your Development environment, as described in the earlier lesson
-
Click to open the Analytics tab
-
Expand your Report Suite name to show all of the requests made to it
-
Confirm the request has fired with the Page Name variable and value
Add Variables with Rules
When you configured the Analytics Extension, you populated the pageName
variable in the extension configuration. This is a fine location to populate other global variables such as eVars and props, provided the value is available on the page before the tag embed code loads.
A more flexible location to set variables—as well as events—is in rules using the Set Variables
action. Rules allow you to set different Analytics variables and events under different conditions. For example, you could set the prodView
only on product detail pages and the purchase
event only on order confirmation pages. This section will teach you how to set variables using rules.
Use Case
Product Detail Pages (PDP) are important points for data collection on retail sites. Typically, you want Analytics to register that a product view occurred and which product was viewed. This is helpful in understanding which products are popular with your customers. On a media site, article or video pages could use similar tracking techniques to the ones you will use in this section. When you load a Product Detail Page, you might want to put that value into a “Page Type” eVar
, as well as set some events and the product id. This will allow us to see the following in our analysis:
- How many times product detail pages are loaded
- Which specific products are viewed and how many times
- How other factors (campaigns, search, etc) affect how many PDP’s people load
Create Data Element for Page Type
First you need to identify which pages are the Product Detail pages. You will do that with a Data Element.
To Create the Data Element for Page Type
-
Click Data Elements in the left navigation
-
Click Add Data Element
-
Name the data element
Page Type
-
Select Data Element Type > JavaScript Variable
-
Use
digitalData.page.category.type
as the JavaScript variable name -
Check the Clean text and Force Lower Case options
-
Click Save to Library
Create Data Element for Product Id
Next, you will collect the product id of the current Product Detail page with a Data Element
To Create the Data Element for Product Id
-
Click Data Elements in the left navigation
-
Click Add Data Element
-
Name the data element
Product Id
-
Select Data Element Type > JavaScript Variable
-
Use
digitalData.product.0.productInfo.sku
as the JavaScript variable name -
Check the Clean text and Force Lower Case options
-
Click Save to Library
Add the Adobe Analytics Product String Extension
If you are already familiar with Adobe Analytics implementations, you are probably familiar with the products variable. The products variable has a very specific syntax and gets used slightly different ways depending on the context. To help make the population of the products variable easier in tags, three additional extensions have already been created in the tag extension marketplace! In this section you will add an extension created by Adobe Consulting to use on the Product Detail page.
To add the add the Adobe Analytics Product String
extension
-
Go to the Extensions > Catalog page
-
Find the
Adobe Analytics Product String
extension by Adobe Consulting Services and click Install
-
Take a moment to read the instructions
-
Click Save to Library
Create the Rule for Product Detail Pages
Now, you will use your new data elements and extension to build your Product Detail page rule. For this functionality, you will create another page load rule, triggered by DOM Ready. However, you will use a condition so that it only fires on the Product Detail pages and the order setting so that it fires before the rule that sends the beacon.
To build the Product Detail page rule
-
Go to the Rules section in the left navigation and then and then click Add Rule
-
Name the rule
Product Details - DOM Ready - 40
-
Click Events > Add to open the
Event Configuration
screen -
Select Event Type > DOM Ready
-
Set the Order to 40, so that the rule will run before the rule containing the Analytics > Send Beacon action
-
Click Keep Changes
-
Under Conditions, click the
Condition Configuration
screen
-
Select Condition Type > Value Comparison
-
Use the data element picker, choose
Page Type
in the first field -
Select Contains from the comparison operator dropdown
-
In the next field type
product-page
(this is the unique part of the page type value pulled from the data layer on PDP’s) -
Click Keep Changes
-
-
Under Actions, click the
-
Select Extension > Adobe Analytics Product String
-
Select Action Type > Set s.products
-
In the Analytics E-commerce Event section, select prodView
-
In the Data layer variables for product data section, use the Data Element picker to choose the
Product Id
data element -
Click Keep Changes
-
Under Actions, click the
-
Select Extension > Adobe Analytics
-
Select Action Type > Set Variables
-
Select eVar1 > Set as and enter
product detail page
-
Set event1, leaving the optional values blank
-
Under Events, click the Add Another button
-
Set the prodView event, leaving the optional values blank
-
Click Keep Changes
-
Click Save to Library and Build
Validate the Product Detail Page Data
You just created a rule that sets variables before the beacon is sent. You should now be able to see the new data going out in the hit in the Experience Cloud Debugger.
To validate the Product Detail page data
-
Open the Luma site in your Chrome browser
-
Navigate to any product detail page
-
Click the Debugger icon
-
Click to the Analytics tab
-
Expand your Report Suite
-
Notice the Product Detail Variables that are now in the debugger, namely that
eVar1
has been set to “product detail page”, that theEvents
variable has been set to “event1” and “prodView”, that the products variable is set with the product id of the product you are viewing, and that your Page Name is still set by the Analytics extension
Send a Track Link Beacon
When a page loads, you typically fire a page load beacon triggered by the s.t()
function. This automatically increments a page view
metric for the page listed in the pageName
variable.
However, sometimes you don’t want to increment page views on your site, because the action that is taking place is “smaller” (or maybe just different) than a page view. In this case, you will use the s.tl()
function, which is commonly referred to as a “track link” request. Even though it is referred to as a track link request, it doesn’t have to be triggered on a link click. It can be triggered by any of the events that are available to you in the tag rule builder, including your own custom JavaScript.
In this tutorial, you will trigger an s.tl()
call using one of the coolest JavaScript events, an Enters Viewport
event.
The Use Case
For this use case, you want to know if people are scrolling down on our Luma home page far enough to see the Featured Products section of our page. There is some internal discord at our company about whether people are even seeing that section or not, so you want to use Analytics to determine the truth.
Create the Rule in tags
-
Go to the Rules section in the left navigation and then click Add Rule
-
Name the rule
Homepage - Featured Products enters Viewport
-
Click Events > Add to open the
Event Configuration
screen -
Select Event Type > Enters Viewport. This will bring up a field where you need to enter the CSS selector that will identify the item on your page that should trigger the rule when it enters view in the browser.
-
Go back to the home page of Luma and scroll down to the Featured Products section.
-
Right-click on the space between the “FEATURED PRODUCTS” title and the items in this section, and select
Inspect
from the right-click menu. This will get you close to what you want. -
Right around there, possibly right under the selected section, you are looking for a div with
class="we-productgrid aem-GridColumn aem-GridColumn--default--12"
. Locate this element. -
Right-click on this element and select Copy > Copy Selector
-
Go back to tags, and paste this value from the clipboard into the field labeled
Elements matching the CSS selector
.- On a side note, it is up to you to decide how to identify CSS selectors. This method is a bit fragile, as certain changes on the page may break this selector. Please consider this when using any CSS selectors in tags.
-
Click Keep Changes
-
Under Conditions, click the
-
Select Condition Type > Value Comparison
-
Use the data element picker, choose
Page Name
in the first field -
Select Equals from the comparison operator dropdown
-
In the next field type
content:luma:us:en
(this is the page name of the home page as pulled from the data layer - we only want this rule to run on the home page) -
Click Keep Changes
-
Under Actions, click the
-
Select Extension > Adobe Analytics
-
Select Action Type > Set Variables
-
Set
eVar3
toHome Page - Featured Products
-
Set
prop3
toHome Page - Featured Products
-
Set the
Events
variable toevent3
-
Click Keep Changes
-
Under Actions, click the
-
Select Extension > Adobe Analytics
-
Select Action Type > Send Beacon
-
Choose the
s.tl()
tracking option -
In the Link Name field, enter
Scrolled down to Featured Products
. This value will be placed into the Custom Links report in Analytics. -
Click Keep Changes
-
Click Save to Library and Build
Validate the Track Link Beacon
Now you will want to make sure that this hit goes in when you scroll down to the Featured Products section of the Home Page of our site. When you first load the homepage, the request shouldn’t be made, but as you scroll down and the section comes into view, the hit should fire with our new values.
-
Open the Luma site in your Chrome browser and make sure you are at the top of the home page.
-
Click the debugger icon
-
Click to the Analytics tab
-
Expand your Report Suite’s hit
-
Notice the normal page view hit for the home page with the page name, etc. (but nothing in eVar3 or prop3).
-
Leaving the Debugger open, scroll down on your site until you can see the Featured Products section
-
View the Debugger again, and another Analytics hit should have appeared. This hit should have the params associated with the s.tl() hit that you set up, namely:
-
LinkType = "link_o"
(this means that the hit is a custom link hit, not a page view hit) -
LinkName = "Scrolled down to Featured Products"
-
prop3 = "Home Page - Featured Products"
-
eVar3 = "Home Page - Featured Products"
-
Events = "event3"
-