Sign in

Welcome to our Support Center

Get help with integration and live campaigns

Welcome to our Support Center. Get help with integration and live campaigns

Step 2 Google Tag Manager: Variables

Overview

On this step you will teach Google Tag Manager how to retrieve the information contained in your dataLayer. After the variables are set up, the information that is available in the dataLayer will be fed automatically into the Criteo OneTag.

Create the variables

Below you will find a list of all variables that have to be created, and the details to fill in. We will use the same names that have been defined in Step 1: dataLayer. [link here to step 1, article doesn't have fixed URL for now]

Setting up the variables is very easy:

1. Click on Variables > User-Defined Variables > NEW

2. Give the variable a name, type and value using the list below

Variables list

CriteoPartnerID

  • Variable Type: Constant String
  • Account ID provided in the tags guide. For example look at line:
{ event: "setAccount", account: 11532},

 

CriteoEmail

  • Variable Type: Data Layer Variable
  • choose the name of the dataLayer variable you set for the email, in this example it is 'email':
<script type="text/javascript">
dataLayer = dataLayer || [];
dataLayer.push({
'email': 'john@doe.com'
});
</script>

 

CriteoSiteType

  • Variable Type: Custom JavaScript
  • Use the following script to define the device used by the user:
function(){
return /iPad/.test(navigator.userAgent)?"t":/Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Silk/.test(navigator.userAgent)?"m":"d";
} 

 

CriteoProductID

  • Variable Type: Data Layer Variable
  • choose the name of the dataLayer variable you set for the product ID on the Product Page; in this example it is 'ProductID':
<script type="text/javascript">
dataLayer = dataLayer || [];
dataLayer.push({
'PageType': 'ProductPage',
'ProductID': 'ProductID'
});
</script>

CriteoProductIDList

  • Variable Type: Data Layer Variable
  • choose the name of the dataLayer variable you set for the list of three product IDs on the Listing Page; in this example it is 'ProductIDList':
<script type="text/javascript">
dataLayer = dataLayer || [];
dataLayer.push({
'PageType':'ListingPage',
'ProductIDList' : ['ProductID_1', 'ProductID_2', 'ProductID_3']
});
</script>

CriteoPageType

  • Variable Type: Data Layer Variable
  • choose the name of the dataLayer variable you set for the page type on each of your pages; in this example it is 'PageType':
<script type="text/javascript">
dataLayer = dataLayer || [];
dataLayer.push({
'PageType':'ListingPage',
'ProductIDList' : ['ProductID_1', 'ProductID_2', 'ProductID_3']
});
</script>

CriteoBasketProducts

  • Variable Type: Data Layer Variable
  • choose the name of the dataLayer variable you set for the array of product information on the Basket Page; in this example it is 'ProductBasketProducts':
<script type="text/javascript">
var product_list = [];
product_list.push(
{ id: "productID_1", price: price_1, quantity: quantity_1 },
{ id: "productID_2", price: price_2, quantity: quantity_2 }
/* add a line for each item in the user's cart */
);
dataLayer = dataLayer || [];
dataLayer.push({
'PageType': 'BasketPage',
'ProductBasketProducts': product_list
});
</script>

CriteoTransProducts

  • Variable Type: Data Layer Variable
  • choose the name of the dataLayer variable you set for the array of product information on the Sales Confirmation Page; in this example it is 'ProductTransactionProducts':
<script type="text/javascript">
var product_list = [];
product_list.push(
{ id: "productID_1", price: price_1, quantity: quantity_1 },
{ id: "productID_2", price: price_2, quantity: quantity_2 }
/* add a line for each item in the user's cart */
);
dataLayer = dataLayer || [];
dataLayer.push({
'PageType': 'TransactionPage',
'ProductTransactionProducts': product_list
});
</script>

TransactionID

  • Variable Type: Data Layer Variable
  • choose the name of the dataLayer variable you set for the order number / transaction ID; in this example it is 'TransactionID':
<script type="text/javascript">
dataLayer = dataLayer || [];
dataLayer.push({
'PageType': 'TransactionPage',
'TransactionID': 'TransactionID'
});
</script>

What's Next?

Google Tag Manager now knows how to retrieve the data from your backend and format it accordingly. The next step consists in defining the scenarios our Criteo OneTag should be fired. This mechanism is called Triggers. Read more details in: Step 3: Triggers

Was this article helpful?
0 out of 0 found this helpful
Powered by Zendesk