-- 2019/07/08 Edit: Add event variable, trigger setting --
- I set a DataLayer Variable called {{SP_sale_event}} to get "my_event", and set to version 2.
- Trigger is when page goes to "checkout" page, the end of purchase flow, AKA "thank you" page.
- Set a Universal GA Tag, set Label to {{SP_sale_event}} .
-- Original message --
I had set some datalayer in checkout page like :
<script type="text/javascript">
dataLayer.push
({
'event': 'checkout',
'ecommerce': {
'purchase':{
'actionField':
{
'id': "<%=order.ID%>",
"affiliation": "Online Store",
"revenue": "<%=order.price%>"
}
}
}
});
$(window).load(function()
{
/**
* checkout data for GTM
*/
window.dataLayer = window.dataLayer || []
dataLayer.push
({
"transactionId":"<%=order.ID%>",
"transactionAffiliation":"My Online store",
"transactionTotal":"<%=order.price%>",
"transactionTax":"0",
"transactionShipping":"0",
"transactionProducts":
[
//some code about order detail ...
]
});
});
</script>
<script type="text/javascript">
dataLayer.push({
'my_event':'Sale event, purchased in <%=order.date%>, price: <%=order.price%>, orderID: <%=order.ID%>, member: <%=(order.isNew)?"New register":"old member"%>』'
});
</script>
And set a tag on GTM to capture Label "my_event".
However, in GA's event report, much event didn't comes with valid Label, but instead with (not set).
For example, I get 23 "my_event" in GA report, but there are only 3 events comes with Label Sale event, purchased in ..., other 20 events are been collected in a (not set) group.
So my setting did works sometime, but most time didn't.
How do I trace and fix this ?