GA拡張Eコマースのプロモーション計測における内部クリック率の正しい取り方:Android編
Enhanced Ecommerce Tracking - Android SDK v4 でプロモーション計測における内部クリック率を計測するコードが、下記のように紹介されている。
Promotion promotion = new Promotion() .setId("PROMO_1234") .setName("Summer Sale") .setCreative("summer_banner2") .setPosition("banner_slot1"); ProductAction promoClickAction = new ProductAction(Promotion.ACTION_CLICK); HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .addPromotion(promotion) .setProductAction(promoClickAction) .setCategory("Internal Promotions") .setAction("click") .setLabel("Summer Sale"); Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.send(builder.build());
しかし、こちらのコードは誤りのように思える。
ProductAction
のコンストラクタの引数にProduct
のaction
ではなくてPromotion
のaction
を設定しているところに違和感をおぼえるし
そもそもProductAction
自体はProduct
と併用して利用する前提のクラスだが、Product
のインスタンス指定が存在しないのもおかしい。
リファレンス参照:ProductAction
そして、何より上記のコードでは計測した結果が反映されない。
というわけで、SDKのリファレンスを精査したところ、下記のコードでプロモーション計測における内部クリック率を計測することができた。
Tracker tracker = ((App)getActivity().getApplication()).getTracker(App.TrackerName.APP_TRACKER); HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder(); builder.setPromotionAction(Promotion.ACTION_CLICK) .addPromotion(new Promotion().setId("プロモーションID").setName("プロモーション名")); tracker.send(builder.build());