簡體   English   中英

GTM dataLayer推送后表單提交

[英]Form submit after GTM dataLayer push

我正在使用GTM的增強型電子商務通過推送到dataLayer變量來報告事件。

我有一種情況需要推送一個事件並立即在事件回調中提交一個表單。 Google理論上為此提供了eventCallback機制,但請考慮以下代碼:

<script>
dataLayer.push({
  'ecommerce': {
    'currencyCode': 'EUR',
    'impressions': [
     {
       'name': 'Donut Friday Scented T-Shirt',
       'id': '67890',
       'price': '33.75',
       'brand': 'Google',
       'category': 'Apparel',
       'variant': 'Black',
       'list': 'Search Results',
       'position': 2
     }]
  }
},{
    'eventCallback': function() {
        document.location = productObj.url; // works
        document.getElementById('form-id').submit(); // fails (!?!)
    }
});
</script>

筆記:

  1. 頁面上沒有Javascript錯誤
  2. 表單#form-id存在(不是拼寫錯誤)

底線:如何在推送后使表單提交? 或者這不可能嗎?

您使用GTM提交表單的原因有何特別原因(特別是在產品展示后)? 這可能超出了它的預期用途,聽起來太過於苛刻。

假設網站自己進行推送,您可以在網頁腳本上的dataLayer.push之后立即提交表單,並使用GTM自己的表單提交延遲抓住推送,自己組裝產品展示標簽,然后讓表單按預期提交它解雇了。 應該這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM