In Capture, you can use and configure many different types of tags, including tags from Acoustic Analytics (such as Capture utility tags), certified Exchange partners, and custom tags. These tags are custom code inserted into your site so that you can track user behavior, such as conversions. Each partner tag and tag template has it's own requirements.
Note: Before you run a tag that you've inserted your JavaScript into, use a code validator to ensure that your code is valid and working correctly.
After reviewing these major concepts, you're ready to configure tags.
Order of tag execution
Tags are executed in the order they appear in the deployment group. Tags might be reordered in the group; however, due to the nature of JavaScript, tags might not finish in that order. Dependent tags contain code that watches for the tag it needs. If that tag is not included or is not correct, a dependent tag might not fire.
Tagging standards
Acoustic Analytics tagging fully supports the W3C Customer Experience Digital Data Layer standard. For details, refer to the Customer Experience Digital Data Layer v1.0 Final Report.
Methods for tag fields
When you configure a tag field, you select a method that specifies the data that is collected by the tag. Available methods are based on the type of tag that you are configuring. Not all methods are available for all tag fields.
When you select a method, the tag field dynamically updates to show parameters that are associated with the method. For example, if you select the Cookie method, the Cookie name text box appears. To complete the configuration, enter a cookie name into the text box.
The following table describes supported methods and associated parameters:
Method | Parameter | Description |
---|---|---|
Unassigned | Method is not yet assigned. | |
Select from list | Drop-down list | Select a predefined constant value. |
Cookie | Cookie Name text box | Enter the cookie name. |
HTML | HTML Object Name text box
Attribute Name text box |
Enter the HTML object name and the Attribute name. |
JavaScriptObject | ObjectName text box | Enter the name of the JavaScript object.
Capture fully supports the W3C Customer Experience Digital Data Layer standard. |
Local Storage | Local Storage Key text box | Enter the name of the local storage item. Values are obtained from the localStorage object on the global window object in HTML5. |
Session Storage | Session Storage Key text box | Enter the name of the session storage item. Values are obtained from the sessionStorage object on the global window object in HTML5. |
Meta | Variable Name text box | Enter the meta data name.
Values are obtained from the HTML meta tag. |
URL | URL Parameter text box | Enter the URL parameter. |
Constant | Constant text box | Enter a value that is stored with the tag and is not on the target in any of the other methods. |
Other Data Layer | Enter the name of the data layer to which you want to map the field. |
Collect many data values with a single tag
If you need to execute a single tag multiple times to collect multiple data values, you can create a substitution.
Without substitutions, you would need to set up a separate tag for each row of an array or table. Using substitutions, Capture can work through an object such as a JavaScript array or an HTML table, firing a tag for each row of the array or table. You can use substitutions in tag fields that support arrays.
Note: Some Acoustic Analytics tags can use digitalData objects by default and require no field setup if the digitalData object has been defined.
Substitutions and the digitalData standard
DigitalData objects contain arrays to store information such as cart and order items, products, and other similar information. The arrays contained in the digitalData objects are understood by Capture. Therefore, there is no need to define substitutions for these arrays, as you do for other tags.
In digitalData tags, substitutions are built in, and tags are fired for each row of an array. The exception to this is the Acoustic Analytics Registration tag and the digitalData.user object. The digitalData.user object allows for multiple users, each having multiple profiles. Acoustic Analytics uses this object by default. However, because the Registration tag is intended for tracking the primary website visitor, it does not need to address the complete digitalData user object. By default, the Registration tag uses only the data that is stored in the first row in the user array: digitalData.user[0]. It also looks in the first profile of the first user, digitalData.user[0].profile[0]. Any other rows in the digitalData.user array does not cause a Registration tag to fire.
How to use a substitution
You want to create a substitution so that Capture iterates through an array where shopping cart data is kept, firing the Shop Action 5 tag for each iteration of the counter. In Capture, you modify the default Shop Action 5 tag so that the appropriate tag fields reference the “FeaturedProducts” array, and use a substitution whose values specify which rows of the array to read.
The ID, name, quantity, and price of 2 products on the Featured Products page is kept in a JavaScript array called “FeaturedProducts”. The code for this array looks like this:
FeaturedProducts[0].productName="TV Tray" | FeaturedProducts[1].productName="TV Remote Control" |
FeaturedProducts[0].productID="Tv1234" | FeaturedProducts[1].productID="Tv5678" |
FeaturedProducts[0].productCategory="TV" | FeaturedProducts[1].productCategory="TV" |
FeaturedProducts[0].quantity=1 | FeaturedProducts[1].quantity=1 |
FeaturedProducts[0].price=9.99 | FeaturedProducts[1].price=29.99 |
First, you modify the Shop Action 5 tag and create a substitution that is associated with it. The substitution's name can be anything that you want to use as a name; you choose myCounter. The substitution values specify where your substitution's "counter" starts, and where it ends. You want the tag to read rows 0 and 1 of your array, so you enter 0 and 1 as your substitution values, which are separated by a comma.
Arrays typically begin with the “0” row, but you can specify that the tag start at any row. When you define where the counter will stop, unless there is a particular row after which you want the iteration to stop, it is a good practice to make the end value for the substitution a number that is larger than the possible row count in your array. If the end value is greater than the number of rows in the object, Capture automatically stops when it gets to the last row of the array.
You can also specify whether consecutive rows are read for each iteration, or some interval of rows. This interval is reflected in the substitution values you enter. For example, values of 0, 1, 2, 3 specify that every row of the array is read, while values of 0, 2, 4, 6 specify that every second row is read.
Finally, edit the object name for each tag field in the Shop Action 5 tag so that it references the array where data is to be found, and the substitution so that the correct rows can be read. For example, in the ProductID tag field, edit the object name to FeaturedProducts[?myCounter?].productID. By surrounding the substitution iterator with question marks, you specify that Capture does not look for another variable named myCounter. In addition, if you are using JavaScript and the list of substitution values references an array, enclose the substitution name and question marks within a pair of square brackets.
Example: Create a substitution in the Acoustic Analytics Shop Action 5 tag
This example illustrates how to create and use a substitution in the Acoustic Analytics Shop Action 5 JavaScripttag.
You have two products on your "Featured Products" page, each of which can be added separately to the shopping cart. The data for these products is shown in the following table.
Product Name | Product ID | Product Category | Quantity | Price |
---|---|---|---|---|
TV Tray | Tv1234 | TV | 1 | 9.99 |
TV Remote Control | Tv5678 | TV | 1 | 29.99 |
When the product data is stored in an array, the code might look like this:
FeaturedProducts[0].productName= "TV Tray" | FeaturedProducts[1].productName= "TV Remote Control" |
FeaturedProducts[0].productID= "Tv1234" | FeaturedProducts[1].productID= "Tv5678" |
FeaturedProducts[0].productCategory= "TV" | FeaturedProducts[1].productCategory= "TV" |
FeaturedProducts[0].quantity=1 | FeaturedProducts[1].quantity=1 |
FeaturedProducts[0].price=9.99 | FeaturedProducts[1].price=29.99 |
You want to capture the Product ID, Product Name, Product Category, Quantity, and Price for each of these two products when the page is visited. To do this, you create a substitution to be used with the Shop Action 5 tag, so that the tag executes once for each product in the array.
The following instructions assume that you have already enabled the Acoustic Analytics Tagging Standard application and configured the Shop Action 5 tag.
- Go to the Tag catalog in the main navigation of Exchange Capture and then go to the Tags tab.
- Find the Shop Action 5 tag associated with the Acoustic Analytics Tagging Standard and select Edit in the three-dot menu.
- Go to the Configure tag fields page and add the following substitution:
- Variable name - mySubstitution
- Rule - 0,1
- Go to the Product ID tag field and modify the Object Name for the JavaScriptObject method to include mySubstitution as the substitution name so that it reads: FeaturedProduct[?mySubstitution?].productID.
- Do the same as the other tag fields, modifying the Object Name to include mySubstitution as the substitution variable name. For example: FeaturedProduct[?mySubstitution?]productName.
- Save the customized Shop Action 5 tag with the new name, Featured Specials Shop Action 5.
Configure tags
To configure tags:
- Click Tag catalog in the main navigation of Exchange Capture. The Tag catalog window opens and shows the Enabled partners tab, which contains cards for all enabled partners. If a partner has not been enabled yet, the card is not available in the tab. Each card shows the partner's logo, name, and enablement status (Active or Suspended).
Note: If you open the Tag catalog before enabling any partners, the Enabled partners tab shows the Enable partners button. You must enable partners before you can configure tags. Click the button to go to Partner enablements. For details, check out Enable partners.
- Configure a tag by performing one of these actions:
- Click Configure Tag in the Tag catalog window.
- In the Enabled partners tab, go to either the Card view (default view) or List view by clicking the view toggle and then perform the corresponding action:
- In the Card view, hover on a partner card, and click Configure tag. You can find a partner by browsing the deck, entering search criteria in the search field, or clicking the Filter icon. If you use filter, select filter criteria and then click Apply. You can filter by partner name and enablement status (Active or Suspended).
- In the List view, find the partner in the list, click the three-dot menu, and select Configure tag. Partners are listed in alphabetical order. You can find a partner in the list by entering search criteria in the search field or clicking the Filter icon. If you use filter, select filter criteria and then click Apply. You can filter by partner name and enablement status (Active or Suspended)
- Provide details about the tag:
- If you clicked Configure Tag in the Tag catalog window (step 2), select a partner application from the list of enabled partners. Otherwise, the partner is preselected for you and cannot be changed.
- Select a tag template. Available templates are based on the partner selected in step 3-A.
- Enter a name for the tag.
- Click Next.
- If the tag has no configuration options, the following message is displayed:
Success! Your job is done. The tag has no settings that you can change or configure. Click OK to add this tag to your Configured tags.
If you see this message, you are done with the tag configuration. Click OK.
If you do not see this message, continue to step 4.
- Configure each tag field:
- Expand the tag field by clicking the carrot.
- Select a method. For details about methods, check out Methods for tag fields.
Based on the selected method, the tag field is dynamically updated to show related configuration parameters. For example, if you select Cookie, the Cookie name text field is displayed. - Provide the requested configuration parameters.
- Repeat steps 4-A to 4-C for each tag field in the tag template.
- Optional. For some tags, you can add custom tag fields:
- Click Add custom field. The tag template is dynamically updated with New Field (N), where N is the first, second, (etc.) field that you add.
- Expand New Field (N) by clicking the carrot.
- Enter a name for the new field.
- Select a method in the drop-down. Based on the method that you select, the custom tag field is dynamically updated to show related configuration parameters. For example, if you select Cookie, the Cookie name text field is displayed. For details about methods, check out Methods for tag fields.
- Provide the requested configuration parameters.
- Repeat steps 5-A through 5-E to add more custom fields.
Note: To remove a custom field, click Delete tag field.
- Optional: To collect multiple data values from an object, such as an array or an HTML table, create a substitution. For details about using substitutions, check out Collect multiple data values by using a single tag and for an example, check out Example: Create a substitution.
Note: If you use Acoustic Analytics tags enabled for the digitalData object, arrays are built in, and substitutions are not required to collect multiple values. One exception is that the Registration tag uses only the data that is stored in the first row in the digitalData.user array. For details, check out Substitutions and the digitalData standard.
- Click Create substitution.
- Enter a variable name.
- Enter a substitution rule by performing one of the following actions:
- Enter a comma-separated list of substitution values. The maximum allowed number of characters in the comma-separated list is 2000. Spaces are not necessary between comma-separated values; if you include spaces in your list, they are included in the count for the 2000-character limit.
- Click Use generator. The generator is useful when you have a series of numbers that increment in regular steps. For example, if you have 10 product IDs (0000001, 0000002, 0000003, to 0000010) that you want to use as substitution values, you can easily generate the values by using the generator instead of entering the values manually. To use the generator, specify the starting and ending numbers for the series of values, the value by which to increment, and the value to pad with zeros.Next, click the checkmark to generate the substitution rule.The maximum number of generated values is 256.
- Click Create substitution.
- Repeat steps 6-A through 6-E to add more substitutions. To edit or remove a substitution rule, click Edit or Delete in the Actions column.
- When you finish creating the substitutions that you want to use with the tag, go back to the tag fields that you configured in step 4 and step 5 and edit the fields that are affected by your substitutions. Make sure to edit the Object Name to include the substitution name and enclose the substitution name within a pair of question marks. For example, if the substitution is named mySubstitution, enter ?mySubstitution?. If you are using JavaScript and the list of substitution values references an array, enclose the substitution name and question marks within a pair of square brackets. For example, [?mySubstitution?].
- When you are done configuring tag fields, adding custom fields, and creating substitutions, click Next.
- Add a trigger rule to trigger the tag when a JavaScript function fires or when an HTML event occurs. The time zone that is used for any date- and time-based triggers is the time zone that is associated with the associated client ID.
- To add a function, click Add function, provide a function name, and then click Add function. The tag code fires when the function fires. You can edit or delete a function in the list of functions by clicking Edit or Delete.
- To add an event, click Add event, enter the name of the HTML object, select a HTML event type, and then click Add event. The tag code fires when the event is triggered. You can edit or delete an event in the list of events by clicking Edit or Delete.
- To add a timeout for the tag, click Add run delay under either Functions or Events, and then enter a time in milliseconds.A timeout is typically added for anchor tags or tags that navigate between pages. By adding the timeout, you allow all the code to load before the cursor moves to a new page.
- Click Submit.