2017-08-22 3 views
0

同じeコマースシステムを使用している複数のサイトに同じdataLayerを適用する必要があります。まったく同じDLを複数のサイトにコピー/貼り付けるのではなく、GTMコンソールでカスタムHTMLタグを使用してdataLayerにプッシュすることを考えていました。Googleタグマネージャー:カスタムHTMLタグのdataLayer

これは具体的なことですか?参考として

これは私のDLです:あなたはそれを維持することができるようになります場合は、間違いなくそれを行うことができます

var impressions = []; 
 
    var i, len; 
 
    var date1 = new Date(); 
 
    var date2 = new Date(abe_searchParams["arrivalDate"]); 
 
    var timeDiff = Math.abs(date2.getTime() - date1.getTime()); 
 
    var leadDays = Math.ceil(timeDiff/(1000 * 3600 * 24)); 
 

 
    for (i = 0, len = abe_roomRatesData.length; i < len; i++) { 
 
    impressions.push({ 
 
     'name' : abe_roomRatesData[i]['roomCode'] + "-" + abe_roomRatesData[i]['rateCode'], 
 
     'id' : abe_roomRatesData[i]['rateCode'], 
 
     'price' : abe_roomRatesData[i]['totalRate'], 
 
     'category' : abe_roomRatesData[i]['roomCode'], 
 
     'variant': abe_searchParams["iataNumber"], 
 
     'metric1' : leadDays, 
 
     'metric2' : abe_roomRatesData[i]['totalRate'], 
 
     'metric3' : abe_searchParams['numberOfNights'], 
 
     'metric7' : abe_roomRatesData[i]['totalRate']/abe_searchParams['numberOfNights'] 
 
    }); 
 
    } 
 
    
 
    window.dataLayer = window.dataLayer || []; 
 
    dataLayer.push({ 
 
     'event' : 'addtoCart', 
 
     'metric6' : leadDays, 
 
     'ecommerce' : { 
 
      'currencyCode': abe_hotelInfo["hotelCurrency"], 
 
      'impressions' : impressions 
 
     } 
 
    });

Thxを

答えて

3

これはベストプラクティスとして推奨されます。カスタムHTMLタグ内のdataLayerに物事を押し込むことは、ウェブサイトのコードを操作する将来の開発者にとって誤解を招く可能性があります。実際のプッシュがコード内でどこで起こっているのかを特定することは非常に難しいでしょう。

複数のeコマースサイトにGTMを実装する場合は、通常、電子商取引プラットフォームには、のGTMテンプレートを作成するためのテンプレートシステムが用意されている必要があります。サイト。これはよりクリーンなアプローチになります。

2

。このコードをカスタムHTMLタグに配置する場合は何も問題ありません。

+0

私はGTMコンソールでタグ+ DLが正常に起動するように試みましたが、インプレッションは全くトラッキングされず、なぜ表示されません。 –

+0

GTMのタグ設定について教えてください。 'タグの種類:ユニバーサルAnalytics' 'トラックタイプ:Event' 'イベントカテゴリ:Ecommerce' 'イベントアクション:Cart'に追加 '有効に拡張eコマース機能:true'を '使用 –

+0

それはそのようなものにhsouldデータレイヤー:true' 'トリガー:イベントがaddToCartと等しい ' –

関連する問題