2016-08-02 4 views
9

google-analytics SDKを使用してAndroidアプリのチェックアウトのパフォーマンスを測定しています。私はヒット(そしてそれが動作する)と例外(それも同様に)を送信するために私が使用するラッパーを作成しました。私はそれを電子商取引データで動作させることはできません。Androidエンハンスト電子商取引分析ページのデータがありません

iは、製品の本体は、方法は、今

public void sendEcommerceCheckoutStep(Product product, ProductAction productAction, String checkoutStepName, Context context) { 
     HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() 
       .addProduct(product) 
       .setProductAction(productAction) 
       .addImpression(product, checkoutStepName); 

     mTracker.setScreenName(checkoutStepName); 
     mTracker.send(builder.build()); 
     mTracker.setScreenName(null); 
    } 

ある

Product product = new Product() 
      .setId(ID) 
      .setCategory(category) 
      .setBrand(brandID) 
      .setCustomDimension(1, typology) 
      .setCustomDimension(2, currency) 
      .setPrice(getTotal()) 
      .setQuantity(1); 
    // Add the step number and additional info about the checkout to the action. 
    ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) 
      .setCheckoutStep(4) 
      .setCheckoutOptions("Perform payment"); 

、次いで

sendEcommerceCheckoutStep(product, productAction, "performPayment", getApplicationContext())

productActionを作成するeコマースデータを送信するために、私は、データがアナリティックスを通って流れることを期待しています(そして、私はAdBのログを書き留めた)が、アナリティクスのウェブインターフェースでは表示されません。

これは私が分析のWebインターフェイスに表示されるものです。

Google Analytics view of e-commerce

あなたはデータを得た唯一の列は、「カート・ツー・ディテールレート」一つで見ることができるように。しかし、他の列にデータがない場合、どのようにしてCart to Detailレートを得ることができますか?

これは「製品のパフォーマンス」画面です。これは、「製品のリストのパフォーマンス」である:

produce list performance

他のすべての列が同様に0です。なぜ「カートに追加」アクションが一覧表示されたのですが、他のアクションは表示されませんでしたか?

+0

各製品の画面名を設定する代わりにイベントを使用する – HourGlass

+0

電子商取引で商品とProductActionを使用するには、ScreenViewBuilderを使用する必要があります。https://developers.google.com/analytics/devguides/collection/android/v4/enhanced-eコマース –

+0

あなたが何を意味するかわかりました。 私は HitBuilders.EventBuilderビルダー=新しいHitBuilders.EventBuilder() .addProduct(製品) .setProductAction(productAction) てみました。addImpression(product、checkoutStepName); でも、アナリティクスのeコマースタブには何も表示されません。 –

答えて

1

次のコードは私のアプリで動作しています。私はofficial transaction guideに従っています。

私はあなたといくつかの違いを見つけました。例えば。画面名の名前、後でnullに設定しない、チェックアウト手順を設定しない、カスタムディメンションもインプレッションも設定しません。

はそれを試してお気軽に:

public void trackPurchase(@NonNull TrackingPurchase trackingPurchase) { 
    HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder(); 

    for (TrackingProduct trackingProduct : trackingPurchase.getTrackingProducts()) { 
     builder.addProduct(this.createProduct(trackingProduct)); 
    } 
    builder.setProductAction(this.createProductAction(trackingPurchase)); 

    googleAnalyticsTracker.setScreenName("transaction"); 
    googleAnalyticsTracker.set("&cu", "USD"); 
    googleAnalyticsTracker.send(builder.build()); 
} 

@NonNull 
private Product createProduct(@NonNull TrackingProduct trackingProduct) { 
    return new Product() 
      .setId(trackingProduct.getSku()) 
      .setName(trackingProduct.getName()) 
      .setCategory(trackingProduct.getCategory()) 
      .setPrice(trackingProduct.getPrice()) 
      .setQuantity(trackingProduct.getQuantity()); 
} 

@NonNull 
private ProductAction createProductAction(@NonNull TrackingPurchase trackingPurchase) { 
    return new ProductAction(ProductAction.ACTION_PURCHASE) 
      .setTransactionId(trackingPurchase.getSaleId()) 
      .setTransactionAffiliation("Android App") 
      .setTransactionRevenue(trackingPurchase.getRevenue()) 
      .setTransactionTax(0) 
      .setTransactionShipping(trackingPurchase.getShippingCost()) 
      .setTransactionCouponCode(trackingPurchase.getCouponCode()); 
} 

TrackingPurchaseちょうど追跡するデータであり、様々なTrackingProductを含むクラスです。

は、私は、これはここでチェックすることにより、追跡確認できます。たとえば、あなたが収入とトップ売り手が表示されます

Google Analytics Ecommerce

+0

ありがとう、フェルナンド。あなたのコードを試してみましたが、私は単純化しましたが、電子商取引を通じてデータは流れません。 : - / –

関連する問題