2017-08-18 34 views
0

googleタグマネージャのdataLayerオブジェクトから値を取得します。 はクロームタグ援助で私は、「リンカ」の値を取得する必要があり、このdataLayerオブジェクトから値を取得する方法

[ 
    { 
    "gtm.start": 1503053374849, 
    "event": "gtm.js", 
    "gtm.uniqueEventId": 0 
    }, 
    { 
    "event": "gtm.dom", 
    "gtm.uniqueEventId": 1 
    }, 
    { 
    "event": "gtm.load", 
    "gtm.uniqueEventId": 2 
    }, 
    { 
    "Linker": "_ga=53655374" 
    } 
] 

のような値を取得しています。私はdataLayer[3].Linkerを試してみましたが、それはdataLayer[1].eventに同じも、「未定義」またはブランクを私に与えます(それは値=「gtm.dom」を返していない空白です) 私はdataLayer[0].eventをしようとすると、それが正しい'gtm.js'

を返すだ「リンカを取得する方法を、私を助けてください"値

+2

オブジェクトにアクセスするために使用しているメソッドは正しいです - そのコードを実行するときにオブジェクトが利用可能であり、非同期メソッドで取得されていないと仮定します。私たちはあなたのコードを参照する必要があります –

+0

を試みて 'dataLayer [3] .Linker' –

+0

@RoryMcCrossan私はこれを印刷し、私のページのフッターでvarに値を保存しようとしています。フォーム送信時にこの値を取得する方法はありますか? –

答えて

0

Googleタグマネージャ自体を使用することをお勧めします。これはそのためのものです。これを行うには、GTMインターフェース(tagmanager.google.com)にアクセスして、variableというタイプのdataLayerを作成します。この変数を選択したタグで使用して、その値を第三者のシステムに渡すことができます。

0

テーブルconsole.table(dataLayer);にデータレイヤーを印刷し、Linkerに表示されるindexの値に注意してください。

enter image description here

次に、あなたはLinkerためindex値であるXXXとしてdataLayer[XXX]を使用することができます。

+0

私は、 'dataLayer [3] .Linker'をsettimout関数で取得していますが、まだいつかは空になっています。 –

+0

特定の状況では、いくつかのフォームがAngularの' click-ng'のような 'submit'イベントをトリガーしないかもしれないことに注意してください。 。まず、 'submit 'イベントが' $('#form ')をチェックすることによってトリガーされていることを確認してください(' submit '、function(){console.log}) 'そうでなければ、ボタンを変更する必要がありますトリガ( 'submit')}) '( 'を押すと、' $ {'#button ' –

関連する問題