Проблема в том, что когда вы помещаете соответствующие данные (my_event
) в dataLayer, вы не добавляете к нему фактическое событие, которое может вызвать запуск нужного тега, и отправляете ваши данные.Скорее всего, случится так, что если my_event будет помещен в dataLayer до запуска вашего тега, он будет отправлен.Таким образом, для этого может быть несколько решений, в зависимости от желаемого результата.
Вы можете объединить, например, два ваших вызова dataLayer, особенно, если они связаны, и данные доступны на этом этапе:
dataLayer.push
({
'event': 'checkout',
'ecommerce': {
'purchase':{
'actionField':
{
'id': "<%=order.ID%>",
"affiliation": "Online Store",
"revenue": "<%=order.price%>"
}
}
},
'my_event':'Sale event, purchased in <%=order.date%>, price: <%=order.price%>, orderID: <%=order.ID%>, member: <%=(order.isNew)?"New register":"old member"%>』'
});
Другим решением было бы указать событие с помощью переменной my_event и установить триггер срабатывания в соответствии с этим именем события, например:
dataLayer.push({
'event':'send_my_event',
'my_event':'Sale event, purchased in <%=order.date%>, price: <%=order.price%>, orderID: <%=order.ID%>, member: <%=(order.isNew)?"New register":"old member"%>』'
});
Может также работать, чтобы оставить ваш кодкак есть и отправьте данные о событии Window Loaded, где все остальные сценарии готовы, но это может быть не так надежно, как версии, где вы явно отправляете данные и инициируете событие вместе.