簡體   English   中英

如何使用JavaScript從GA電子商務結果中提取並返回單個值(收入)

[英]How Can I extract & return a single value (revenue) from GA ecommerce results using javascript

在我的電子商務網站上成功交易后顯示的Thankyou頁面的源代碼中,Google Analytics ecommerce.js插件中寫道:

    <script>
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

    ga('create', 'UA-123456789-1', {'cookieDomain': 'http://www.example.com/'});
    ga('require', 'displayfeatures');
    ga('send', 'pageview');


    ga('create', 'UA-1234567-9', 'auto', { name: 'merchantTracker' });
    ga('merchantTracker.require', 'displayfeatures');
    ga('merchantTracker.send', 'pageview');


    Thirdparty.Event.subscribe('google.analytics.trackPageView', function(url) {
        ga('send', 'pageview', url);


        ga('merchantTracker.send', 'pageview', url);

    });
</script>

<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
                    $('.recommendation-box .in-popup a').click(function(e) {
                    e.preventDefault();
                    window.open(
                        this.href,
                        "sharing",
                        "width=650,height=500,resizable=no,location=no,menubar=no,scrollbars=no,status=no"
                    );
                });

            ga('require', 'ecommerce');                ga('ecommerce:addItem', {
                    'id': '11377927',// Transaction ID. Required.
                    'name': 'Test Product',// Product name. Required.
                    'category': 'Adult',// Category or variation.
                    'price': '1.0000000000',// Unit price.
                    'quantity': '1'// Quantity.
                });        ga('ecommerce:addTransaction', {
            'id': '11377927',// Transaction ID. Required.
            'affiliation': 'My Site',// Affiliation or store name.
            'revenue': '1.070000',// Grand Total.
            'tax': '0'// Tax.
        });
        ga('ecommerce:send');
});
//]]>

</script>

我想使用Google跟蹤代碼管理器和javascript提取“收入”的值,並將其返回到GTM變量中。

這是在第三方平台上,我無法訪問后端源代碼,這就是為什么我正在查看GTM的原因,這使我能夠在Thankyou頁面上使用JS代碼(我有一個GTM容器設置並正在使用其他JavaScript在網站上)

我不太了解javascript或GA對象模型,所以我不知道如何提取該值的最佳方法。 我嘗試通過chrome控制台查看是否可以通過訪問ga對象來回顯值,但找不到找到/訪問它的方法。嘗試使用console.log ga('revenue')之類的東西但我不了解對象模型如何實現該價值。

如何獲取“收入”的值並將其返回給GTM以用作變量?

要將值推送到GTM,您需要首先在GTM中設置dataLayer變量:

變量->新建->選擇變量類型...->數據層變量

在此處輸入圖片說明

輸入您的變量名稱,然后點擊保存。 現在,您可以在GTM中使用此變量,該變量將在任何可能的地方可用,並且您還可以在自定義HTML中引用它,例如:{{stackO}}有關更多信息: https : //support.google.com/tagmanager/回答/ 6106899?HL = EN#網

要從您的網站為該變量增加價值,只需將變量推送到GTM,例如:

dataLayer.push({'stackO':'exampleValue'});

有關更多信息: https : //developers.google.com/tag-manager/devguide

不幸的是,我認為您無法訪問'revenue'的值並將其返回給GTM以直接用作變量。 這是因為電子商務沒有返回添加項目的功能。 (我不知道)。 參考: https : //developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce

我只能建議嘗試找出該值的來源?

'revenue':'1.070000',//總計。

硬編碼嗎? 如果是這樣,也許您可​​以直接從HTML中獲取它。

根據您的評論,理論上您可以使用如下代碼:

    var x = document.head.innerText;
    var revenue=x.substring(x.lastIndexOf("'revenue'")+12,x.lastIndexOf("// Grand Total") - 2);
//assuming you name your dataLayer variable "revenue" in GTM you can push it like this:
dataLayer.push({
'revenue' : revenue
});

收入就是您追求的價值。 但是要小心,當結構混亂時,您的代碼將停止工作。 祝好運

我想出了一個解決方案,使用innerText和regex提取此內容,然后獲得了“收入”值起點的索引,然后我將其用於放置從索引點開始的收益數的值+12個空格。 我提取了該值的8個小數點,因為這個數字我永遠不會高於9999.999美元的值順序,並且我不需要該值超過3個小數位,因此這對於我的要求應該是一個安全的范圍。

我在自定義javascript類型的GTM變量中使用了此代碼,然后在需要時將該變量包含在重定向像素標簽中。

console.log條目僅用於測試,但是現在我已經從活動變量代碼中刪除了。

 var content = document.head.innerText;
    var query=/'revenue': '\d+.\d+',/;
    if (content.search(query) > -1 ) {
    var resultquery = (content.search(query))
    var revenue = (document.head.innerText.substring(resultquery+12, resultquery+20))
    console.log (revenue)
    return revenue;

    } else {
      console.log(false);
    }

暫無
暫無

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

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