Created
March 22, 2016 07:54
-
-
Save OrenBochman/f98520d2f7c69b8e8b4c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//no plugin needed but you need to set up the datalayer | |
var dataLayer = window.dataLayer = window.dataLayer || []; dataLayer.push({ ... }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
// Measures product impressions and also tracks a standard pageview for the tag configuration. | |
// Product impressions are sent by pushing an impressions object containing one or more impressionFieldObjects. | |
// Configuration | |
// Tag type : Universal Analytics | |
// Track type : Pageview | |
// Enable Enhanced Ecommerce Features: true | |
// Use Data Layer: true | |
// Basic Settings - Document Path: {{url path}} | |
// Firing Rule: {{event}} equals gtm.dom | |
dataLayer.push({ | |
'ecommerce': { | |
'currencyCode': 'EUR', // Local currency is optional. | |
'impressions': [ | |
{ | |
'name': 'Triblend Android T-Shirt', // Name or ID is required. | |
'id': '12345', | |
'price': '15.25', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Gray', | |
'list': 'Search Results', | |
'position': 1 | |
}, | |
{ | |
'name': 'Donut Friday Scented T-Shirt', | |
'id': '67890', | |
'price': '33.75', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Black', | |
'list': 'Search Results', | |
'position': 2 | |
}] | |
} | |
}); | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Measure clicks on product links by pushing a click action to the data layer, | |
//along with a productFieldObject to represent the clicked product, as in this example: | |
//configuration: | |
//Tag type : Universal Analytics | |
//Track type : Event | |
//Event Category: Ecommerce | |
//Event Action: Product Click | |
//Enable Enhanced Ecommerce Features: true | |
//Use Data Layer: true | |
//Basic Settings - Document Path: {{url path}} | |
//Firing Rule: {{event}} equals productClick | |
<script> | |
/** | |
* Call this function when a user clicks on a product link. This function uses the event | |
* callback datalayer variable to handle navigation after the ecommerce data has been sent | |
* to Google Analytics. | |
* @param {Object} productObj An object representing a product. | |
*/ | |
function(productObj) { | |
dataLayer.push({ | |
'event': 'productClick', | |
'ecommerce': { | |
'click': { | |
'actionField': {'list': 'Search Results'}, // Optional list property. | |
'products': [{ | |
'name': productObj.name, // Name or ID is required. | |
'id': productObj.id, | |
'price': productObj.price, | |
'brand': productObj.brand, | |
'category': productObj.cat, | |
'variant': productObj.variant, | |
'position': productObj.position | |
}] | |
} | |
}, | |
'eventCallback': function() { | |
document.location = productObj.url | |
} | |
}); | |
} | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
//configuration | |
//Tag type : Universal Analytics | |
//Track type : Pageview | |
//Enable Enhanced Ecommerce Features: true | |
//Use Data Layer: true | |
//Basic Settings - Document Path: {{url path}} | |
//Firing Rule: {{event}} equals gtm.dom | |
// Measure a view of product details. This example assumes the detail view occurs on pageload, | |
// and also tracks a standard pageview of the details page. | |
dataLayer.push({ | |
'ecommerce': { | |
'detail': { | |
'actionField': {'list': 'Apparel Gallery'}, // 'detail' actions have an optional list property. | |
'products': [{ | |
'name': 'Triblend Android T-Shirt', // Name or ID is required. | |
'id': '12345', | |
'price': '15.25', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Gray' | |
}] | |
} | |
} | |
}); | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Adding a Product to a Shopping Cart | |
// Measure adding a product to a shopping cart by using an 'add' actionFieldObject | |
// and a list of productFieldObjects. | |
dataLayer.push({ | |
'event': 'addToCart', | |
'ecommerce': { | |
'currencyCode': 'EUR', | |
'add': { // 'add' actionFieldObject measures. | |
'products': [{ // adding a product to a shopping cart. | |
'name': 'Triblend Android T-Shirt', | |
'id': '12345', | |
'price': '15.25', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Gray', | |
'quantity': 1 | |
}] | |
} | |
} | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//configuration | |
//Tag type : Universal Analytics | |
//Track type : Event | |
//Event Category: Ecommerce | |
//Event Action: Remove from Cart | |
//Enable Enhanced Ecommerce Features: true | |
//Use Data Layer: true | |
//Basic Settings - Document Path: {{url path}} | |
//Firing Rule: {{event}} equals removeFromCart | |
// Measure the removal of a product from a shopping cart. | |
dataLayer.push({ | |
'event': 'removeFromCart', | |
'ecommerce': { | |
'remove': { // 'remove' actionFieldObject measures. | |
'products': [{ // removing a product to a shopping cart. | |
'name': 'Triblend Android T-Shirt', | |
'id': '12345', | |
'price': '15.25', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Gray', | |
'quantity': 1 | |
}] | |
} | |
} | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
// An example of measuring promotion views. This example assumes that | |
// information about the promotions displayed is available when the page loads. | |
//configuration | |
//Tag type : Universal Analytics | |
//Track type : Pageview | |
//Enable Enhanced Ecommerce Features: true | |
//Use Data Layer: true | |
//Basic Settings - Document Path: {{url path}} | |
//Firing Rule: {{event}} equals gtm.dom | |
dataLayer.push({ | |
'ecommerce': { | |
'promoView': { | |
'promotions': [ // Array of promoFieldObjects. | |
{ | |
'id': 'JUNE_PROMO13', // ID or Name is required. | |
'name': 'June Sale', | |
'creative': 'banner1', | |
'position': 'slot1' | |
}, | |
{ | |
'id': 'FREE_SHIP13', | |
'name': 'Free Shipping Promo', | |
'creative': 'skyscraper1', | |
'position': 'slot2' | |
}] | |
} | |
} | |
}); | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
/** | |
* Call this function when a user clicks on a promotion. This function uses the eventCallBack | |
* datalayer variable to handle navigation after the ecommerce data is sent to Google Analytics. | |
* | |
* @param {Object} promoObj An object representing an internal site promotion. | |
*/ | |
function onPromoClick(promoObj) { | |
dataLayer.push({ | |
'event': 'promotionClick', | |
'ecommerce': { | |
'promoClick': { | |
'promotions': [ | |
{ | |
'id': promoObj.id, // Name or ID is required. | |
'name': promoObj.name, | |
'creative': promoObj.creative, | |
'position': promoObj.pos | |
}] | |
} | |
}, | |
'eventCallback': function() { | |
document.location = promoObj.destinationUrl; | |
} | |
}); | |
} | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
/** | |
* A function to handle a click on a checkout button. This function uses the eventCallback | |
* data layer variable to handle navigation after the ecommerce data has been sent to Google Analytics. | |
*/ | |
function onCheckout() { | |
dataLayer.push({ | |
'event': 'checkout', | |
'ecommerce': { | |
'checkout': { | |
'actionField': {'step': 1, 'option': 'Visa'}, | |
'products': [{ | |
'name': 'Triblend Android T-Shirt', | |
'id': '12345', | |
'price': '15.25', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Gray', | |
'quantity': 1 | |
}] | |
} | |
}, | |
'eventCallback': function() { | |
document.location = 'checkout.html'; | |
} | |
}); | |
} | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
/** | |
* A function to handle a click leading to a checkout option selection. | |
*/ | |
function onCheckoutOption(step, checkoutOption) { | |
dataLayer.push({ | |
'event': 'checkoutOption', | |
'ecommerce': { | |
'checkout_option': { | |
'actionField': {'step': step, 'option': checkoutOption} | |
} | |
} | |
}); | |
} | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
// Send transaction data with a pageview if available | |
// when the page loads. Otherwise, use an event when the transaction | |
// data becomes available. | |
dataLayer.push({ | |
'ecommerce': { | |
'purchase': { | |
'actionField': { | |
'id': 'T12345', // Transaction ID. Required for purchases and refunds. | |
'affiliation': 'Online Store', | |
'revenue': '35.43', // Total transaction value (incl. tax and shipping) | |
'tax':'4.90', | |
'shipping': '5.99', | |
'coupon': 'SUMMER_SALE' | |
}, | |
'products': [{ // List of productFieldObjects. | |
'name': 'Triblend Android T-Shirt', // Name or ID is required. | |
'id': '12345', | |
'price': '15.25', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Gray', | |
'quantity': 1, | |
'coupon': '' // Optional fields may be omitted or set to empty string. | |
}, | |
{ | |
'name': 'Donut Friday Scented T-Shirt', | |
'id': '67890', | |
'price': '33.75', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Black', | |
'quantity': 1 | |
}] | |
} | |
} | |
}); | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
// Refund an entire transaction by providing the transaction ID. This example assumes the details | |
// of the completed refund are available when the page loads: | |
dataLayer.push({ | |
'ecommerce': { | |
'refund': { | |
'actionField': {'id': 'T12345'} // Transaction ID. Required for purchases and refunds. | |
} | |
} | |
}); | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
// Measure a partial refund by providing an array of productFieldObjects and specifying the ID and | |
// quantity of each product being returned. This example assumes the partial refund details are | |
// known at the time the page loads: | |
dataLayer.push({ | |
'ecommerce': { | |
'refund': { | |
'actionField': {'id': 'T12345'}, // Transaction ID. | |
'products': [ | |
{'id': 'P4567', 'quantity': 1}, // Product ID and quantity. Required for partial refunds. | |
{'id': 'P8901','quantity': 2} | |
] | |
} | |
} | |
}); | |
</script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
dataLayer.push({ | |
'ecommerce': { | |
'impressions': [ | |
{ | |
'name': 'Triblend Android T-Shirt', // Name or ID is required. | |
'id': '12345', | |
'price': '15.25', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Gray', | |
'list': 'Related Products', | |
'position': 1 | |
}, | |
{ | |
'name': 'Donut Friday Scented T-Shirt', | |
'id': '67890', | |
'price': '33.75', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Black', | |
'list': 'Related Products', | |
'position': 2 | |
}], | |
'detail': { | |
'actionField': {'list': 'Apparel Gallery'} // 'detail' actions have an optional list property. | |
'products': [{ | |
'name': 'Triblend Android T-Shirt', // Name or ID is required. | |
'id': '12345', | |
'price': '15.25', | |
'brand': 'Google', | |
'category': 'Apparel', | |
'variant': 'Gray' | |
}] | |
} | |
} | |
}); | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment