I'm measuring my Android app checkout performance by using the google-analytics SDK. I created a Wrapper that I use in order to send hits (and it works) and exceptions (it works as well). I just can't make it work with eCommerce data.
In order to send ecommerce data i create a product and a 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");
and then
sendEcommerceCheckoutStep(product, productAction, "performPayment", getApplicationContext())
the body of said method is
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);
}
Now, I'd expect data to flow through analytics (and it does, I checked the adb logs) but I can't see it in analytics web interface.
This is what I see on analytics web interface:
As you can see the only column which got data is the "Cart-to-Detail Rate" one. But how can I have a cart-to-detail rate if I don't have any data in any other column?
This was the "product performance" screen. This is the "Product list performance":
all other columns are 0 as well. Why did it list the "add to cart" actions but not the others?
Some rows in Google Ads reports have no session data A common reason for missing data is that you've linked a Google Ads account to a view for which some traffic has been filtered out.
Google Analytics Enhanced Ecommerce enables product impression, promotion, and sales data to be sent with any of your Google Analytics pageviews and events. Use pageviews to track product impressions and product purchases; and use events to track checkout steps and product clicks.
Ecommerce Tracking is a feature of Google Analytics that tracks shopping activity on your website. You can use it to track and analyze transaction data, revenue, products you've sold, and more. Ecommerce data in Google Analytics will give you specific insights into: Products with a high (or low) number of sales.
The following code is working on my app. I have followed the official transaction guide.
I found a few differences with yours. E.g. the name of the screen name, I don't set it to null later, I don't set the checkout step, I don't set custom dimensions nor impressions.
Feel free to try it:
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
is a class that just contains the various TrackingProduct
which are data to be tracked.
I can see this tracked by checking here:
For example, you will see revenue and top sellers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With