This article describes how to configure tag data mappings to send data from your data layer to your vendor.
In this article:
Data mapping is the process of sending data from a data layer variable to the corresponding parameter in the vendor tag. This is necessary to accommodate the varied naming conventions adopted by each vendor for the data they collect. A data mapping specifies a data layer variable from a value is sourced and a vendor parameter to which the value is passed.
For example, a vendor might collect page name information in a parameter named
pName but your data layer might store this value in a variable named
page_name. To send the value of
pName, you create a data mapping. Once the data mapping is configured, the value of
page_name will always be passed to the vendor parameter
pName when that tag is triggered.
When you configure a data mapping, after selecting which data layer variable contains the data you want to pass to the tag vendor (or select Custom Value), a collection of the vendor's parameters is presented where you select one more to receive the mapped value.
A vendor has a parameter for currency code,
curr, to be set to the three-character code matching the currency of a transaction. If the tag will be loaded on pages that handle all types of currencies you probably will have a data layer variable called
currency_code that will be set to the appropriate value based on the activity of the user. Expected values might be "USD", "CAD", "GBP", "EUR", "JPY", etc. The data mapping would look like this:
If that same tag will only be deployed to a single geographic region where the currency will always be the same, such as "CAD", then a custom value data mapping can be used. In this case, a data layer variable is not necessary and the expected currency code, "CAD", can be set directly in the mapping, like this:
location.hostname.indexOf("co.uk") > -1 ? "GBP" : "USD"
Vendor tag parameters (also called destinations) are built into the tag's Data Mappings tab, where you add and manage data mappings.
To create a new data mapping:
To create a data mapping that uses a custom (static) value, instead of a data layer variable, follow these steps:
When two or more variables are mapped to the same destination (e.g. "page_name -> pageName" and "dom.title -> pageName"), the last mapping takes precedence. Data mappings can be reordered to account for this precedence.
In this example, if both
document title are populated, the destination variable
pageName will receive the value from
document title. The last mapping takes precedence if the variables are populated.
If a variable does not have a value, the mapping is not applied.
While the built-in destinations should cover most of your mapping needs, there is an option to define a custom mapping to send data to a vendor parameter of your naming.
The custom mapping will appear in the Data Mappings tab.
The destination variable can be edited by clicking its name in the top panel. The name becomes a text field where you type the new name. Click OK to apply the changes.
AudienceStream attributes are enriched attributes about your visitors that are sent back to your website for use with personalization.
To map an AudienceStream attribute the following requirements must be in place:
Repeat to edit more mappings. When your done click Apply.
You can drag and drop data mappings in your preferred order. This is helpful if you want to order your mappings alphabetically for better organization. The only time ordering matters is when two or more data layer variables are mapped to the same vendor destination (example below), in which case the last mapping takes precedence.
In this example, both
page_title are mapped to the
pageName vendor variable. If both variables have values, the one appearing lower in the list will take precedence (in this case,