Update time: Mar 30, 2023
Bug
Google Analytics 4 Ecommerce has some bugs.
DebugView: Price Is Wrong
If you use DebugView to debug e-commerce tracking, you may notice that the price parameter is incorrect, the price you send is 3.15:
The dataLayer.push is right:
dataLayer.push({ event: "add_to_cart", ecommerce: { items: [ { item_list_name: "Product details", item_list_id: "Product details", item_name: "CASEME 013 Series PU Leather Mobile Phone Shell with Wallet Stand for iPhone " + "8/7/SE (2020)/SE (2022) 4.7 inch - Black", item_id: "101115653A", price: 3.15, quantity: 1 } ] }, gtm.uniqueEventId: 596 })
but it shows 3150000 in DebugView:
Picture Source:measure
Automatically multiplied by 100000, this is a bug in DebugView, but it will not affect the data in the e-commerce report.
Transaction ID is not set
If you deploy GA4‘s e-commerce tracking, and the transaction IDs are all numbers, then you may encounter the transaction ID is not set:
This GA4 bug was discovered by Simo ahava in 2020.
This bug does not seem to be fixed yet, it is recommended to use a combination of English letters and numbers for the transaction ID.
Principle Problem
Ecommerce revenue in GA4 Inaccurate
Issue: Your price sent is £35, but the GA4 report shows Ecommerce revenue is £34.98, the original data is an integer, and the report does have a decimal point.
This is caused by the exchange rate, by default, the global currency type of a property or reporting view is USD, If the currency you send and set in the GA4 report is not USD, it will be exchanged automatically.
The order sent is £35, which when stored in GA4 will be converted to USD using the previous day’s exchange rate, maybe $29, but the currency displayed in the report is the currency in Property Settings,$29 will then be converted into GBP, maybe £34.98.
Revenue calculation logic
GA4 has multiple Revenue metrics, and their calculation logic is as follows:
- Ecommerce revenue: calculated based on the value in the purchase event, which is the total Ecommerce revenue, including taxes、shipping and order discount
- Product revenue: Calculated based on price*quality in purchase, the relationship between Product revenue and Ecommerce revenue is, Product revenue = Eommerce revenue – product discount
- Total Ad Revenue: Earnings as Publisher Ads
- Total revenue: Ecommerce revenue + App subscription revenue + Total Ad Revenue
Tracking Error
Why e-commerce has no data
- Data restrictions: Your account is No Cost Metrics and No Revenue Metrics, so you cannot see it, this is a data permission issue, you can ask the administrator for permission.
- E-commerce parameter error: Ecommerce Revenue is determined by currency and value. If these two parameters are wrong, the data will be 0
- currency:currency is a necessary parameter. If the currency is missing, the value cannot be converted into USD for storage.
- value:The data layer variable is set incorrectly, value should be ecommerce.value, if you directly set it to value, it is an error.
- GA version error: If your website deploys GA3, but the data layer sends GA4, the e-commerce data structure is different, so the revenue is 0.
- E-commerce parameter error: Product Revenue is determined by price and quality If these two parameters are wrong, the data will be 0
- The view_item of all products is 0: it may be caused by a data structure error in items, which is an array structure.
- The view_item of some products is 0, it may be that some products are missing tracking
Features not yet supported
Product Attribution
For now, GA4 does not support Product Attribution, and all purchases are classified into not set.
Quota
More than 200 products in items
In GA4, the limit of items is 200 products, that is, no more than 200 items.
For some B2B sites, the number may exceed 200.
If it is an ordinary e-commerce event, such as view_item, it can be split, and there are no more than 200 products in each item.
If it is a purchase event, when splitting the order, you need to consider the problem that the order ID cannot be repeated, and you need to add parameters to the order ID. For example, the original order of A767643434 is split into two A767643434-1 and A767643434-2.
Referral: