2016-08-30 7 views
5

私は電子商取引のAndroidアプリケーションで作業しています.GTM v5(Firebase SDKに含まれています)を介してGoogleアナリティクスの拡張eコマースイベントを追跡します。firebaseバンドルを使用したGTM v5による拡張eコマースタグ

"impressions"イベントを送信するために、古いデータレイヤーをFirebase SDKでGTM v5で受け入れたバンドルオブジェクトに変換しようとします。

ので、datalayer

DataLayer.mapOf(
        "currencyCode", "EUR",         // Local currency is optional. 
        "impressions", DataLayer.listOf(
          DataLayer.mapOf(
            "name", produitsDispo.get(0).name,    // Name or ID is required. 
            "id", produitsDispo.get(0).sku, 
            "price", produitsDispo.get(0).price, 
            "brand", produitsDispo.get(0).brand, 
            "category", produitsDispo.get(0).category, 
            "variant", produitsDispo.get(0).variant, 
            "list", produitsDispo.get(0).category, 
            "position", 1), 
          DataLayer.mapOf(
            "name", produitsDispo.get(1).name, 
            "id", produitsDispo.get(1).sku, 
            "price", produitsDispo.get(1).price, 
            "brand", produitsDispo.get(1).brand, 
            "category", produitsDispo.get(1).category, 
            "variant", produitsDispo.get(1).variant, 
            "list", produitsDispo.get(1).category, 
            "position", 2), 
          DataLayer.mapOf(
            "name", produitsDispo.get(2).name, 
            "id", produitsDispo.get(2).sku, 
            "price", produitsDispo.get(2).price, 
            "brand", produitsDispo.get(2).brand, 
            "category", produitsDispo.get(2).category, 
            "variant", produitsDispo.get(2).variant, 
            "list", produitsDispo.get(2).category, 
            "position", 3))); 

次は今:

Bundle myBundle = new Bundle(); 
myBundle.putString("currencyCode", "EUR"); 
myBundle.putParcelableArrayList("impressions", constructBundleImpressions(produitsDispo)); 
mFirebaseAnalytics.logEvent("ecommerce", myBundle); 

    public ArrayList<Bundle> constructBundleImpressions(ArrayList<Item> produitsDispo){ 
    ArrayList<Bundle> bundleImpressions = new ArrayList<Bundle>(); 
    Bundle tempBundle = new Bundle(); 
    for (int i=0; i<produitsDispo.size();i++){ 
     tempBundle.clear(); 
     tempBundle.putString("name", produitsDispo.get(i).name); 
     Log.d("AAAAA ; ", produitsDispo.get(i).name); 
     tempBundle.putString("id", produitsDispo.get(i).sku); 
     tempBundle.putString("price", produitsDispo.get(i).price.toString()); 
     tempBundle.putString("brand", produitsDispo.get(i).brand); 
     tempBundle.putString("category", produitsDispo.get(i).category); 
     tempBundle.putString("variant", produitsDispo.get(i).variant); 
     tempBundle.putString("list", produitsDispo.get(i).category); 
     tempBundle.putInt("position", i+1); 
     bundleImpressions.add(tempBundle); 
    } 

私はすでに値、トリガーとタグと私のGTMコンテナを設定したが、ヒットは、Google Analyticsのダッシュボードに表示されません。

Firebaseはイベント用の複雑なバンドルを受け入れないので、正しいですが、ArrayListを含むバンドルはFirebaseイベントロガーによって解釈されないために発生すると思います。

あなたの意見は?この種の問題に会ったことがありますか?

+0

あなたはGTMのV5およびeコマースについての何かを見つけましたか? –

答えて

2

https://support.google.com/tagmanager/answer/7003315?hl=en

eコマースアレイ、そのページによると:データのアレイを必要とeコマースタグ(例えば、Googleアナリティクス拡張eコマース)のサポートは後日利用できるようになります。

とリリースノートには、トピックのノーさらに進行を通知: https://support.google.com/tagmanager/answer/4620708?hl=en&ref_topic=6003219

+0

このリリースノートはそれをカバーしませんでしたか? - 2017年9月6日 Firebase SDKを使用するAndroidおよびiOSアプリケーションから、ユニバーサルアナリティクスのプロパティに拡張eコマースデータを送信できるようになりました。 – sdhaus

関連する問題