【问题标题】:Missing data on Android enhanced e-commerce analytics pageAndroid 增强型电子商务分析页面上缺少数据
【发布时间】:2026-01-18 22:35:01
【问题描述】:

我正在使用 google-analytics SDK 测量我的 Android 应用结帐性能。我创建了一个 Wrapper,我使用它来发送命中(并且它有效)和异常(它也有效)。我只是无法让它与电子商务数据一起使用。

为了发送电子商务数据,我创建了一个产品和一个 productAction

    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())

上述方法的主体是

    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);
    }

现在,我希望数据流经分析(确实如此,我检查了 adb 日志),但我在分析 Web 界面中看不到它。

这是我在分析网络界面上看到的:

如您所见,唯一获取数据的列是“购物车到详细信息率”列。但是,如果我在任何其他列中都没有任何数据,如何获得购物车到详细信息的比率?

这是“产品性能”屏幕。这是“产品列表表现”:

所有其他列也是 0。为什么它列出了“添加到购物车”操作而不列出其他操作?

【问题讨论】:

  • 使用事件而不是为每个产品设置屏幕名称
  • 在我看来 - 为了将 Products 和 ProductActions 用于电子商务 - 我应该使用 ScreenViewBuilder:developers.google.com/analytics/devguides/collection/android/v4/…
  • 好的,我明白你的意思了。我尝试使用 HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .addProduct(product) .setProductAction(productAction) .addImpression(product, checkoutStepName);但我仍然没有在分析的电子商务选项卡中得到任何信息。
  • @MarcoZanetti 你能找到解决办法吗?我有同样的问题。我会很感激任何帮助。谢谢
  • 我现在在另一家公司工作,所以没有再看,但是没有,我当时找不到解决方案-.-

标签: android google-analytics enhanced-ecommerce


【解决方案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 的类,它们是要跟踪的数据。

我可以通过查看这里查看跟踪:

例如,您会看到收入和畅销商品。

【讨论】:

  • 谢谢费尔南多。我尝试使用您的代码并简化了我的代码,但是 - 仍然 - 没有数据流过电子商务。 :-/