In your online store, you offer products and services directly to your users for purchase. Of course, you’ll want to know how much turnover...
In your online store, you offer products and services directly to your users for purchase. Of course, you’ll want to know how much turnover your sales generate and which products are particularly in demand. Google Analytics 4 (GA4) provides special tracking functions and reports for evaluation.
![]() |
| Revolutionize Your eCommerce Business with GA4 Insights |
In the vast majority of cases, the most important conversion in a store is the completed purchase. Therefore, an analysis tool must record this data and link it to other data. In addition, the solution should show what else buyers have done in the store and which features are important for buyers.
Campaigns in particular are often evaluated primarily on the basis of purchases. But the completed purchase is not everything. Depending on the source, online stores have an average conversion rate of only 2.5% to 3%. If you focus only on the buyers, you’ll neglect insights about 97% of your users!
![]() |
| Sample User Path to the Final Purchase |
As shown above, a user’s path to purchase is not always a straight line from entering your offering to completing it. They browse through product categories, compare product details, or check shipping costs during the checkout process. Users can interrupt or cancel the purchase process at any of these points. The actions and data collected up to this point are nevertheless valuable for evaluating advertising measures and optimizing your offering.
Analytics provides a whole range of functions and reports for evaluating stores, including tracking purchases, shopping carts, payment methods, item views, and much more.
Using the e-commerce dimensions and metrics for products, you can track what users of your store are doing and answer questions such as the following:
- Which products end up in the shopping cart?
- Which products are viewed?
- Which product category has the highest revenue?
- Where are the hurdles in the checkout process?
- Which internal banners generate revenue?
- Which vouchers bring in new customers?
GA4 divides the user journey in the store into several sections: viewing products, adding them to the shopping cart, making the payment, and finally completing the purchase. Reports, events, and parameters are based on this process, but you can extend this process and adapt it to your individual store and purchasing process.
Evaluating E-Commerce Data
The evaluations of e-commerce data can be found in the GA menu both in the Monetization section (if you have activated the Life cycle menu) and under Revenue (for the Business objectives menu).
The reports included are identical, only their order is different. They both show data related to sales and revenue on the website.
![]() |
| Overview for the Monetization Section with Revenue |
The overview, shown above, displays the development of revenue, e-commerce sales, and buyers. This is followed by tiles for products sold, item lists and similar. Depending on which revenue opportunities your website offers and which ones you record, you’ll also see data on vouchers, apps, and ads.
You can find purchases and buyers as new metrics. The buyers are all users who have made a purchase. In GA4, a purchase means a measured purchase event. A user can complete one or more purchases, even within the same session.
Purchase revenue refers to all revenues transferred from purchase events. This revenue is also included in the total revenue. Basically, you can transmit values for all events, which are then also included in the total revenue. In such a case, total revenue and purchase revenue will differ. In our example, the two values are identical; there is no additional income from other events in this report.
Comparing GA4 Data with Your Store System
Note that only the data of users who have given their consent to tracking is listed in GA4. In your store or order system, on the other hand, all purchases with all items are recorded since you need this data to process the purchase.
By considering your store data as complete information, you have a good opportunity to assess your analytics tracking: Study the deviation between your store system (100% of all sales) and GA4 (X%). Knowing this difference helps you to realistically assess your values in GA4.
Which Items Are Users Interested In?
In the Ecommerce purchases report, GA4 shows the most important shopping engagements between users and your items, as shown below. You’ll also see products that have been viewed but not purchased.
![]() |
| Store Items with Views and Purchases |
Items Viewed
The Items Viewed metric is shown in the first column. This metric describes how often the detailed information of an item (shown in Figure 5.4) has been viewed by users. The values in the column were collected via the view_item event.
![]() |
| Detail Page for a Product |
In some stores, this definition can cause problems: What if users could add an item to their shopping cart directly from an overview page without having going to a detail page first? In that case, no item view is measured.
Therefore, the content structure of your store determines how this value should be interpreted. If a product detail page must be viewed to make a purchase, all potential buyers are included in this measured value. However, if you offer a way to bypass the detail page, then only some of the potential buyers will be found via the detail page. In this case, you should consult the views in item lists. The views in a list or on a category page, for example, are recorded separately in a separate metric.
Shopping Cart
In the next column, Items added to cart, GA4 shows you how often a user added an item to the shopping cart, as measured via the add_to_cart event. For most stores, the shopping cart function is a necessary part of the ordering process. Each item must have been placed in the shopping cart before the actual purchase, and this action can also serve as a purchase signal for analyzing your campaigns, for example.
Low Ratio of Views to Shopping Cart Adds?
In the sample report shown above, the values for adding items vary greatly, in some cases, significantly below the store average (found in the column header above the individual items).
Availability can be a possible cause of low values. In line 9, a product has many views, but not a single shopping cart or revenue. When you check this in the store, you can directly see the reason: The product is no longer available and cannot be added to the shopping cart, as shown below.
![]() |
| Unavailable Products Cannot Be Ordered |
In this example, the effect is rather obvious, as no action was measured at all. If the availability of products is shown live on your website or in your app, an effect impacts only some users. If, for example, only half of the users on a product page see the product as available, the ratio shifts towards a low shopping cart value.
Another cause may be the price of the product. If its price only becomes visible or clear to the user on the item page, the purchase is no longer as interesting as before clicking the details. Secondary costs such as shipping can also play a role.
If your products have been available but are rarely added to the shopping cart, you should take a critical look at the product pages and descriptions.
Items Purchased
The Items purchased column shows how often an item was included in a purchase, that is, the number transactions in which this item was included. These transactions are counted using the purchase event.
Item Revenue
Finally, in the last column of the report, you’ll find the Item revenue. This value results from the quantity sold and the price of an individual product. As a result, the item revenue shows which products have the most influence on your overall business success. Both individual orders with high unit prices and many purchases of items with low prices become comparable through revenue.
Other Item Dimensions
In addition to the name, other dimensions can be transferred for each item. You can select them in the menu in the first column, as shown in Figure 5.6. Section 5.2 provides detailed information on how you can fill in the other fields in the code.
![]() |
| Other Item Details Available for Selection |
Other Item Details: Item ID
The item ID is intended for a unique identifier, such as an item number or SKU. GA4 manages item IDs and names independently of each other, and thus, multiple different item names can be saved for one item ID. An item name can also be transferred to different IDs. The decisive factor is what is transferred in the parameters when the Google Analytics tag (gtag) is called.
Let’s consider an example: We have a bilingual store in German and English. The product names are available in both languages. With item number 3263827, you’re selling a “Lichtschwert” in the German store. In the English store, the product is called a “lightsaber” but uses the same item number.
If you look at the e-commerce data by item name, the report contains two rows, as described:
![]() |
| E-commerce Report by Item Name |
If you look at the same data after the item ID, you’ll only see one row. The values of the two language variants are now added together as below:
![]() |
| E-commerce Report by Item IDs |
The behavior for item ID and name also applies to other fields that can be transferred to an item: The displayed values always refer to the currently selected dimension. A one-to-one relationship between fields and thus identical metrics is possible, but not automatic. You can check this relationship by comparing the number of rows in a report.
When entering items, a mandatory step is to enter either a name or an ID. If both fields are filled, both will be saved.
Other Item Details: Categories
The products can be sorted into multiple item categories. You can use up to five categories. These categories can be transferred in the form of a hierarchy. The item category is the highest level, item category 2 is on the next level, and so on. Only one value is transferred in the Google Analytics tag, where the individual levels are separated by /, similar to a URL.
Thus, the value /toys/dressing_up/costume_accessories/weapons/swords is turned into the distribution shown below:
![]() |
| Different Values for Item Categories |
The categories can also be filled in as separate fields. Each field is listed individually in the Google Analytics tag. For subsequent analysis, which variant you choose makes no difference.
A more complicated scenario is if you want to save multiple categories for an item independently of each other. For example, let’s say an item is listed in two categories, and you want to track both:
/toys/dressing_up/costume_accessories/weapons/swords
/toys/dressing_up/costume_accessories/weapons/LED
GA4 has no function for dual tracking. You can extend an item’s details with your own fields, but even then, you must think carefully about which categories should be considered primary and which secondary. In such cases, exporting the items by ID or name and processing them in a data analysis tool is the more meaningful option.
Other Item Details: Brand
The Item brand summarizes the metrics based on the transferred brands of the items, for example, Adidas, Nike, and Puma in a sporting goods store.
You can transfer exactly one brand for each item. However, this field is optional; that is, it can also be omitted completely. For items without a brand, the metrics are output in the report, whereas the dimension field remains empty, as shown below.
![]() |
| Empty Field Because No Brand Transferred |
Other Item Details: Variant
The Item variant is also an optional field. If you have items with the same name or ID but which may differ in color or size, you can use this field for product differentiation.
As with a brand, all items without a value for this field are summarized in one row in this report.
Displaying Item Lists
If multiple products are displayed together, for example, in a product category, GA4 allows you to evaluate item lists. When tracking such a list, the name and the ID as well as the items displayed are recorded. In GA4, you can then differentiate among views of items according to these different lists.
The report for item lists is not listed by default in the navigation. You can access this report via the overview in the Monetization or Leads section. A tile is available for listing item list names. Clicking the View item lists link below the tile takes you to the detailed evaluation, as shown below.
![]() |
| Category Overview with a List of Products |
![]() |
| Comparison of Different Item Lists |
For each list, the items viewed and clicked (as well as the further purchase process with shopping cart, checkout, and purchase) are listed. You can break down the table by item list name or by list ID.
Note that all metrics refer to the items in the lists, not to the list itself. The number of views therefore depends on how many users have seen the list as well as on how many items are displayed in the list. Thus, interpreting these values can be somewhat complicated.
As shown above, 3,273,870 viewed items were measured for the VIEW_ITEM_LIST_RECOMMENDATION list. Only if you know how many items are displayed for each user can you estimate the number of users who have viewed this list. However, even determining this value is difficult because users can see a list multiple times.
In the Items clicked in list column, the measurement is also per item (in our example, 22,718). But usually, your users can only click on one item in a list, after which the page is changed. If a list contains ten items, GA4 measures ten views, but only one click.
Starting from the Item list click through rate column, GA4 then switches to users as the comparison variable. The click rate of 85.64% therefore refers to all users who have viewed this list.
Interpreting the Data
This data is not easy to interpret because it cannot be perfectly correlated. The clicks and the click rate provide an indication of how well the respective areas in the store are working (e.g., product recommendations). The views depend very much on the structure of the store and how the actual tracking was implemented. For example, an important factor is whether all products in a list are counted when they are called or only when they appear in the user’s visible area. This value therefore only allows limited conclusions to be drawn.
Following the columns for views and clicks, you’ll find columns for shopping carts, items paid and purchased, and item revenue. This information should allow items to be tracked from the ad to the click to the purchase.
However, for GA4 to be able to track this path, it expects information on which item list a shopping cart or purchase should be counted for each action for an item. In most stores, however, this information is lost at when an item is added to the shopping cart. For additional steps, the information is simply no longer available and cannot be transferred.
This problem leads to results like the one shown below: Data is available for views and clicks on item lists. From the moment they are added to the shopping cart, all items are displayed under (not set) or an empty item list name.
![]() |
| Assignment to the Item List Lost After Clicking |
When you view a list with multiple products in a category, as shown above, you can use the view_item_list event. You can use the event to track the call of the list as a whole and transfer a list name and/or an ID for later differentiation. Both are stored in their own dimensions.
As an additional parameter, the event can be given an items list of all the products shown. The index parameter is a special field that contains the position of a product within the listing.
Now, you can use the view_item_list event for all product lists within the store, not just for category overviews. Many stores display a list of related products on a detail page, as shown below. On a product detail page, therefore, you’ll need to fire two events: view_item for the product details and view_item_list for the recommendations.
![]() |
| Measuring the Recommended Products for an Item |
In the code example below, we have a list with multiple entries. The individual items contain only the rows that are most necessary.
[gtag("event", "view_item_list", {
item_list_name: "Related products",
items: [
{
item_id: "SKU_22845",
item_name: "Star Wars The Book of Boba Fett",
currency: "EUR",
index: 1, // Position 1 in list
price: 20.00
},
{
item_id: "SKU_32933",
item_name: "Star Wars Tatooine Est 1977",
currency: "EUR",
index: 2, // Position 2 in list
price: 22.99 ...
}
]
}); ]
You can track the selection of a product or a click on a product in a list using the select_item event. This event can process the same parameters as view_item_list.
To also link subsequent steps, such as a purchase or the start of a checkout process, with an item list, you must also pass the item_list_name parameter or item_list_id for these calls.
Analyzing the Purchasing Behavior
In every store, users must take certain steps on the way to making a purchase. These steps include viewing products or starting the checkout process. GA4 summarizes the most important steps from its point of view in the purchase process.
This process consists of five steps: session start, viewing the product, adding the product to the shopping cart, beginning the checkout process, and purchasing. Each step is tracked by a specific event.
![]() |
| The Purchase Process According to GA4 |
![]() |
| Events of the Purchase Process |
Google Analytics displays the users in all steps in the Purchase process report. The metrics for each step are displayed in a horizontal funnel, as shown below.
![]() |
| Funnel in the Purchase Process Report |
Step 1 starts with all users who have visited your store within the selected time period. Step 5 represents the completed purchase. The bars show the number of users in relation to the total number for each step. The exact number of users appears when you hover your cursor over a bar (as shown in the illustration). Alternatively, you can look at the data table below the graphic.
Above the bars, for each step, you’ll see what percentage of users came from the preceding step. In the funnel shown above, 26.5% of users in step 2 came from step 1. The 45.6% in the Purchase step refers to users who were already in the Begin checkout step, and so on.
Below the funnel, the Abandonment rate field shows you how many users leave the funnel at this point. In our example, 1,400 users abandoned the checkout process.
The table below the funnel shows the total number of users for each step, but broken down into different dimensions. You can choose between Device category, Browser, Language, Country, Region, or City.
Above the funnel, you’ll see the View open funnel option. By default, Google Analytics uses a closed funnel. In other words, all users in step 2 must have previously been in step 1, all users in step 3 must have previously been in step 2, and so on. Users cannot enter at a later point in the process since they will be ignored. If the funnel was open, this type of user would be “allowed” and included in New funnel entries.
Below shows the split in users during the first step: The large lower bar shows the users who came from the previous step. The upper small bar shows new entries to this funnel step.
![]() |
| New Funnel Entries in a Funnel Step |
Shopping Carts and Wish Lists
If the store offers a shopping cart, you can track the addition or removal of products. As a parameter, you can pass a list of the products for which this action is to be carried out.
The generic purchase process of GA4 always includes an Add to cart step. Although not absolutely necessary to measure purchases, the funnel in the Purchase process report contains this step as a default.
However, not all e-commerce offers require such a step in their processes. For example, usually no comparable shopping cart is available for contract and service offers such as in insurance, telecommunications, or electricity, as only one product is purchased at a time. In these cases, users often jump directly from the product detail page to the checkout process. Thus, you can omit the associated event, which would create a gap in your purchase process. You then must create your own funnel. Alternatively, you can fire two events at the same time: one for the shopping cart step and one for the checkout process step.
When you click on Add to cart, the add_to_cart event should be triggered, as shown below. The quantity of the selected products is transferred for each entry with the quantity field. The addition to the shopping cart is saved as a separate metric and is available as a column in the e-commerce report.
![]() |
| Button to Buy or Add to Shopping Cart |
The deletion of a product is tracked via the remove_from_cart event; the parameters are identical to those for the add event.
If a user views the shopping cart and its contents, you need to trigger view_cart with the contained products as an items list.
A wish list works in a similar way to the shopping cart. You must use add_to_wishlist as the event, as shown below.
![]() |
| Adding an Item to the Wish List |
The events for wish lists and shopping cart views cannot be found in any predefined report and can only be tracked in the event list or via custom reports.
Mapping the Ordering Process
At this point, you’re familiar with the purchase process, which describes a user’s path through the entire store up to the point of purchase. In contrast, the checkout process shows the steps users go through after deciding to make a purchase. As shown in Figure 5.19, this process includes entering address data and selecting shipping and payment methods. GA4 provides predefined events for these steps.
![]() |
| Checkout Process as a Funnel |
Starting the Checkout Process
The first step to making a purchase is to go to the checkout area. The Begin checkout click is documented via the begin_checkout event, as shown in Figure 5.20. Again, you pass the list of individual products as a parameter.
![]() |
| Click to Begin the Checkout Process |
The start of the order process is tracked in the Checkouts metric and can be used in custom reports.
Shipping and Payment
The entry of address data is tracked using the add_shipping_info event. In addition to the familiar list of products, you can enter information on shipping in the shipping_tier parameter, for example, for standard or express shipment.
To log the addition of payment information, you must use the add_payment_info event. You can transfer specific information on the payment method in the payment_type parameter (e.g., Bank transfer, PayPal, Visa).
The entry of shipping and payment data is not tracked in a separate metric.
The checkout process ends just like the purchase process with the (completed) purchase event.
Customizing the Ordering Process
As with the purchase process, you’ll see a View steps in the funnel link at the top right above the funnel. Click on this link to see the settings for this report, that is, the individual events from which the funnel is formed, as shown below.
![]() |
| Funnel Settings |
Unlike many other reports in GA4, you cannot customize the two funnels for the purchase process and for the checkout process. However, you can create your own funnels and insert them into the navigation.
This approach is particularly useful if your checkout process contains more or less steps. Some stores require users to set up a user account before making a purchase, while others request further information through additional forms, as shown below.
![]() |
| Funnel with Additional Customer Status Step |
If your checkout process contains further steps, you’ll need to set up a dedicated event for each of these steps. You’re free to name additional events in GA4. You can also transfer additional e-commerce data as parameters for all events. In the funnel settings, you can filter on just one event name or take additional parameter values into account.
E-Commerce Funnels in Earlier Versions
In the older Universal Analytics (UA), the steps in e-commerce funnels were differentiated using the additional step parameter. Mapping such a behavior with a fixed event name and step=1, step=2, and so on, makes report creation in GA4 complicated or even impossible.
Purchase as Completion of an Order
The purchase of one or more products is probably the most important action users can perform in a store. Orders are tracked as transactions in GA4. As shown below, transactions always consist of the order data and the item(s) included.
You can track the individual transactions in their corresponding report, which you can access via the Monetization or Leads menus. This report is not automatically included in the menu for older GA4 properties. You can find its tile in the overview.
![]() |
| Transactions Report Showing All Orders |
The first column contains the Transaction ID. This identifier can be used to clearly identify the transaction or order. Usually, this value is the order number assigned by your store system.
This value is followed by Ecommerce purchases. In your report, this column will probably look like the one shown above: The value for each ID is 1. In other words, exactly one purchase was recorded for each transaction ID which is to be expected with a unique identifier. Theoretically, you could measure multiple purchases on one ID, but this scenario does not generally arise in real life.
The third column, Ecommerce purchase quantity, shows the number of units purchased for all products. If a user purchases 24 units of a product, the purchase quantity is 24.
Finally, the Purchase revenue shows the amount of money that was measured for each order.
Data Privacy: Transaction ID as Personal Data?
Some companies classify an order number or transaction ID as personal data since this ID can be used to identify the actual buyer. From Google’s point of view, the ID is initially unproblematic. GA4 only prohibits the storage of “cleartext” data, such as the name or email address of a buyer. Whether a transaction ID is critical depends on which user can access other store systems and how. If the ID is classified as critical for you or you want to be on the safe side, you should hash the transaction ID.
Unfortunately, you cannot switch to the items contained in an order from this report because Google Analytics manages transactions and items separately. You can relate the two, but not in the regular report. Instead, you’ll need to conduct an exploratory data analysis, as shown below.
![]() |
| Items per Transaction in a Data Analysis |
This separation goes so far that two independent revenue measurements exist: first Purchase revenue and then Item revenue. The first measured value refers to the value that was transmitted with the transaction as a whole. The second is the total of the entire revenue for all items in the order. In the real world, these amounts are directly related: The amount of an order is the total of the item amounts. However, in GA4, the two amounts are received independently of each other, and no matching takes place. If an error occurs in the store and the amounts do not match, Google Analytics will not alert you to this inconsistency, and you may get strange results. For this reason, you should check regularly whether the amounts match!
The “Transactions” and “Purchases” Metrics
Transactions are managed as a separate metric, but there is also the purchases (and ecommerce purchases) metric. A transaction always requires a transaction ID (i.e., a unique identifier). A purchase, on the other hand, can be measured without such an ID. In most stores, these two values should be almost identical. If you see a major discrepancy, you should check whether transaction IDs are always transferred correctly.
For each order, GA4 can also accept amounts for shipping costs and the tax amount included, in addition to the revenue. These values are stored in separate dimensions and can also be analyzed.
A transaction is tracked via the purchase event and is automatically defined as a conversion in GA4 properties. In addition to the items list of the purchased products, the event receives some special fields as parameters, as described below.
![]() |
| Parameters of the Transaction Event |
The value of the order is automatically transferred to the revenue from the purchase event and thus also to the conversion. Note that the price values of the individual products are tracked independently of this and form the item revenue metric. Even after implementation, you should check that the total price values of the individual products correspond to the total revenue of the order. GA4 does not synchronize the data.
The refund event is intended to map returns of products. This event receives the same parameters as the purchase event. As transaction_id, you’ll enter the identifier for the order from which products are returned. The items list contains only the returned products.
Advertising within the Store
Within a store, you may display advertisements or teasers intended to lead users to other products or content, as shown below. An advertisement can link directly to a product, but it can also link to a general page in your store, for example, a page discussing additional services or events. Therefore, tracking of advertisements uses position and used media as parameters, but not a specific item.
| Advertising Within the Store |
Similar to items, you can measure both clicks and impressions for advertising media. A name for the advertising space, for an overall theme, and the graphics used can be transferred. The parameters are not all mandatory. A unique name for the measurement is sufficient; you can leave the other parameters blank. The results can be found in the Offers report.
![]() |
| Measuring Views and Clicks on Item Advertising |
To measure views and clicks, GA4 provides two events: view_promotion to track the number of views and select_promotion to count the number of clicks on an element. The events have some special parameters, as described below.
![]() |
| Parameters of the Promotion Events |
Unfortunately, the measurement of advertising media in GA4 has the same problem as the item lists: To track the complete path from a click on an advertising medium to a purchase, the advertising medium must be added to an item in each step. Google Analytics does not automatically merge subsequent shopping cart or purchase events with the advertising media, which is why the Shopping cart column shown earlier shows only zero values.
Vouchers and Coupons
Stores often distribute vouchers or discount codes to reduce the prices of individual items or entire orders for buyers. GA4 enables you to enter vouchers for an entire order as well as for individual items.
Coupons for Orders
To place an order, you would enter the name of the voucher as an additional field when completing the purchase, that is, with the purchase event. Thus, the results cannot be found directly in GA4: You must go to the overview in the Monetization menu (or the overview in the More revenue menu if you’re using the Business objectives collection) and click the corresponding tile. For faster access, you can add the Order coupon report to the navigation yourself.
For each coupon code, you’ll find the number of purchases, the purchase quantity, and revenue in the report. The (not set) row shown below displays all orders for which no coupon code was used. Thus, the values above the columns show the total quantities for the store (i.e., the total of all purchases, all sales, and so on).
Individual Coupon Codes
Some stores use individual coupon codes for individual buyers. These unique codes prevent them from being passed on to several people. With unique codes, you can also track exactly whether certain buyers have redeemed their code.
For analysis in GA4, you should not simply transfer such coupon codes into the tracking dimensions since this would result in a long list of codes used for exactly one purchase. Thus, answering the question “How many personalized coupon codes were redeemed in the last month?” becomes cumbersome, as you would have to count lots of rows.
In such a case, a better approach to transfer a fixed value for all individual coupon codes, such as SINGLE_CODE. Then, you’ll receive one row in the report with the purchases and revenue of all redeemed individual coupons.
| Tracking Order Coupons |
Coupons for Items
Coupons for items are only valid for individual components of an order. These coupon codes are also transmitted at the time of purchase (i.e., the purchase event) but as an additional coupon field to the other data of the discounted item.
No designated report is available in the GA4 menu for the tracked item coupons, and you cannot create one in the standard reports either, which do not allow you to select the item coupon dimension. In the GA4 user interface, the only remaining option is therefore the evaluation via exploratory data analysis. You’ll find the coupons in the dimension list, as shown below.
![]() |
| Item coupon Dimension for Exploratory Data Analysis |
Discount for Items
You can transfer an item discount using the separate discount field. In contrast to the coupon, this value is a metric. You use the field to transfer the amount by which an item is reduced. In an exploratory data analysis, you can then evaluate the item - discount amount dimension.
Combining Item Discounts with Coupons
The coupon field can be used to mark additional discounts. If an item is currently reduced due to a promotion, you can, for example, transfer the value 10percent in coupon when placing the order to make it easier to recognize temporarily reduced goods later. You can enter the amount by which the price has been reduced in the discount field.
Registrations and Logins
In many stores, customers get their own accounts and associated login credentials. This approach allows buyers to manage their own address and payment data and view orders or invoices, for example.
To record the registration of such an account, as shown below, Google Analytics recommends using sign_up as the event name. You can use method as an optional parameter and pass the login method used, such as email or Google.
To log the login of a user, you should use the login event. With this event, you can also pass the method parameter and thus differentiate whether a user has logged in with a password or via single sign-on with Google or Facebook.
![]() |
| Signing Up and Creating a User Account |
However, you’ll need to know the processes used in your store to evaluate both events. Although many stores offer user account registration, these accounts are often created automatically when an order is placed. In such a case, you probably cannot measure an explicit sign_up event on the website.
The same applies to logins: Visitors returning to a store in particular are often still logged in from their previous visit. Then, there will be no explicit click on a login button and therefore no traceable login process with a login event.
For these reasons, the (recommended) sign_up and login events are not part of the generic Google Analytics purchase process. Not every store has to offer these functions, and even if they are available, users don’t necessarily use them for each and every visit.
If your store uses user accounts, not only can you track a login as an action, but you can also use this identifier to identify your users in GA4. Your users can be clearly identified and recognized even on different devices.
To transfer your own user IDs, you must use the userid field in the gtag or in Google Tag Manager, as shown below. The config call should be performed prior to all events so that they use the set user ID.
[gtag('config', 'G-Z331914HZ7', {
'user_id': 'be51d65c1a97a1b83ecceca4ee181293'
}); ]
On a website, whether a user is using a different device or a different browser is generally irrelevant. Based on the user ID, Google Analytics will identify them as the same user. This feature also works across different data streams. You can recognize the same users on the website and within apps.
Avoid using any personal data, such as email addresses or names, in plain text as a user ID. These values must first be converted into a hash or a pseudonym.
For GA4 to use the ID as a basis, the Blended or Observed option must be selected in the administration section under Reporting identity. Blended is the default setting, and normally, you would not have to make any adjustments.
Returning Users and Repeat Buyers
GA4 can provide you with further information about your customers in addition to the items they purchased. Various average values are calculated from different data, which you can use in custom reports, segments, or audiences.
For many user metrics, a comparable buyer metric is available. You can use the following metrics in your own reports:
- Total users
- First users
- Average number of users per day
- Active users who have paid at least once in 7, 30, or 90 days
- Repeat buyers after 1 day (also possible: 2 to 7 days, 8 to 30 days, 31 to 90 days)
- Paying weekly/monthly active users and daily active users
The lower values in the list indicate which customers buy regularly. If a customer always buys the same products, you could consider introducing a subscription model. In addition, you can use this information to address these customers in other ways, for example, in targeted advertising material or mailings.
Unfortunately, many of these metrics can only be used in custom reports, so they are somewhat hidden behind the scenes. Creating custom reports to evaluate such metrics is therefore not only useful for representing other data, but some values can only be viewed in this way.
The User Lifetime Value
The user lifetime value (LTV) is a special key figure for analyzing your users. This value shows how much revenue a user has generated across all their visits. You can analyze the average LTV by means of a data analysis using a special procedure or report type.
In the report, select the User lifetime value option under Technique. Some entries are then provided under Dimensions and Metrics. You can only use certain selected values for this type of report, and only two or three more can be added to the existing ones.
In the report shown below, the Total users and LTV (USD): Average values are selected. These two metrics are already sufficient for an initial visualization. This example also lists the medium through which these users came. You can see that traffic via organic and paid search brings by far the most users. However, if you look at the lifetime value, the affiliate channel is in a better position: On average, these users generate more revenue across all sessions.
Using the LTV, you can evaluate users over a longer period of time and not just once per session. If your business model focuses on small but frequent transactions, this value is a strong indicator of a channel’s success.
![]() |
| Lifetime Analysis of Users Through Various Channels |
Measuring E-Commerce User Actions
Google Analytics collects data for its e-commerce reports using various events and parameters. This data can be roughly divided into the following subject areas:
- Calls and engagements with products in the store
- Ordering and checkout process
- The actual sale
GA4 has predefined event names for various actions in the store, which you should use wherever possible. Along with these events, the most important parameter is items, which is a list of the products to which the currently measured action relates.
Depending on the event, other parameters might be filled. GA4 then creates the reports from this collected data. As for all events, you can use either the gtag or Google Tag Manager for counting.
Transferring E-Commerce Data to GA4
Before you get to know the various event and parameter names, let’s cover the various options for sending e-commerce data to GA4.
Transferring E-Commerce Data in the gtag to GA4
If you use the gtag, the code for individual events is shown below.
[gtag("event", "view_item", { // event name is view_item
// Parameters for the event
items: [
{
// List with the individual products
}
]
});]
E-Commerce Data in the “dataLayer” for GA4
Alternatively, you can transfer data to events via the dataLayer in Google Tag Manager, as shown below.
[dataLayer.push({ ecommerce: null }); // Empty existing ecommerce object.
dataLayer.push({
event: "view_item_list",
ecommerce: {
items: [
{
item_id: "SKU_3263827",
item_name: "Lightsaber",
currency: "EUR",
discount: 66.99,
... ]
E-Commerce in UA and GA4
Many functions, such as product lists or internal advertising, were available in UA. However, the structure and naming of these parameters in GA4 is somewhat different and therefore not directly compatible. The GA4 tags in Google Tag Manager and also the calls in the gtag can handle existing dataLayer calls in universal format and attempt to translate them. However, this translation does not work in every case and for every function, meaning that some dimensions and reports may remain empty.
If you have a dataLayer implementation for UA and you cannot adapt it for GA4 in the store, you should extract the fields yourself using variables in Google Tag Manager (as described in the next section on using e-commerce data as fields in Google Tag Manager). Then, you can continue to use the existing dataLayer for UA.
E-Commerce Data as Fields in Google Tag Manager
If using Google Tag Manager, the best approach is to transfer the parameters within the tag as individual parameters, as shown below.
![]() |
| E-Commerce Values as Individual Fields in Google Tag Manager |
This approach gives you flexibility, as you can obtain the necessary values from different sources and not everything has to be included in the dataLayer call.
Having Data Transmitted by Plugins
Especially with stores, tracking the various parameters is not entirely trivial, as you must both query the data from the store system and pass it on to the tags in the correct format.
Thus, many store systems provide options for automatically integrating the necessary codes. Some third-party providers can install the necessary functions via plugins, as shown below.
Plugins for UA and GA4
You should also check that a plugin transfers the data to GA4 in the correct format and does not send it to UA. A plugin should be as up to date as possible, especially if you obtain it from a third-party provider and not directly from your store provider.
![]() |
| Plugins for GA4 Integration in Shopify |
However, you ask yourself a few questions before using these plugins:
- Will all actions and values be tracked that GA4 can use for reports?
- What product information is sent?
- Is data sent directly to GA4 with the Google Analytics tag?
- Can data be routed via Google Tag Manager?
E-Commerce Events
GA4 uses the name to decide how the associated parameters are processed. The name of the event provides information on what action the user performs with the products. The event itself determines which parameters are permitted in addition to the items list (product list).
![]() |
| Important Events for E-Commerce Campaigns |
You can transfer the value and currency parameters for all events. The value parameter contains the monetary value that the event adopts for conversions (in e-commerce, usually the revenue). Although the value parameter is not mandatory, Google recommends using it for events that you want to define as conversions. The currency determines the currency in which the value is used for calculations.
Information on Products
For many events, GA4 expects a list with at least one or more products. Thus, not only does GA4 want to know that an order was placed, but also what the order contained. (This complexity distinguishes e-commerce events from “simple” events since you can also define products in addition to the monetary value.)
GA4 refers to a single product in the Google Analytics tag as item. Products are always transferred within the items list, even if there is only a single product in the call. The items list contains all the information about the products the user uses to do something. The properties of the products are transferred in several parameter values.
A whole range of values can be entered for products. Below shows an example of a product entry with the most commonly used values.
[item_id: "SKU_3263827",
item_name: "Lightsaber",
currency: "EUR",
item_brand: "Skywalker",
item_category: "Weapon",
item_variant: "green",
price: 499.99,
quantity: 1]
Each field from this example defines the product a little more:
- item_id: A unique product number or identifier
- item_name: The name of the product. You must enter at least one identifier or name.
- currency: The currency in which the price is quoted. The value may already have been set at the event level; in this case, the field can be omitted.
- item_category: A category for a better description of the product type. You can pass up to five categories (item_category2, item_category3, and so on) as individual parameters. Then, this value is at the first level.
- item_brand: The brand of the product. You can transfer these as a separate dimension and evaluate them later.
- item_variant: Used to differentiate between different product characteristics, such as color or material.
- quantity: The quantity of products for which the action is measured. If you leave the field blank, Google Analytics will assume the value 1. You can therefore omit this field in many cases.
- price: The price of the product. As this is a numerical value, it is not enclosed in quotation marks!
Other parameters that you can assign to a product include the following:
- affiliation: The name of a partner website or partner business that led users to this product.
- coupon: A coupon code that applies to this product, stored in the item coupon dimension.
- discount: Discount on the displayed product.
- index: The position of the item when displayed in a list with several products.
- item_category2 through item_category5: Up to five categories can be specified for each product.
- item_list_id: When displayed in a list, the identifier of the list.
- item_list_name: When displayed in a list, the name of the list.
- location_id: If the product is offered in a real store or is in stock there, the Google Place ID of the store should be shown.
Detailed Product Information in the Example
If an action is to be measured for specific items, a product list with an item element is transferred as a parameter.
For the sample product shown below,
![]() |
| What E-Commerce Parameters Should You Use for This Item |
The parameter values for the product would be transferred in the form shown below.
[gtag("event", "view_item", {
items: [
{
item_id: "SKU_12345",
item_name: "Lightsaber, Metal Dueling Lightsaber",
coupon: "20Euro", // if Coupon field selected
currency: "EUR",
discount: 10.00, // 7% discount
item_brand: "LIHTJOYFUN",
item_category: "Toy",
item_category2: "Dressing up & children’s role play",
item_category3: "Costume supplies & accessories",
item_category4: "Toy weapons",
item_category5: "Swords",
item_variant: "Silver",
price: 129.99,
quantity: 1
}
]
});]
"view_item" Ecommerce Data with gtag
If the user switches to a different variant, you must fire a view_item event with the parameters again.
Item views are a predefined dimension in GA4 and are shown as a separate column in the e-commerce reports.
Defining Custom Dimensions for Orders and Items
GA4 provides the option of defining and filling in custom dimensions in a property. You can then use these in your own reports in the same way as predefined dimensions. As shown below, you can create custom dimensions on several levels: the user, the event, and the element levels.
![]() |
| Defining Custom Dimensions for Items |
E-commerce events such as purchase or view_item_list are at the event level. If you want to submit an additional value that relates to a purchase as a whole, you must create the custom dimension in the Event section. You could then use this dimension for the payment method, for example, to transfer values such as credit card or PayPal.
If you want to transfer additional values for items, you must create the custom dimension for the Item level section. The new dimension can be combined with the measured values that relate to items, such as item revenue or items clicked in list.
[item_id: "SKU_3263827",
item_name: "Lightsaber",
currency: "EUR",
myuserdim: "a value",
price: 499.99,
quantity: 1]
Transferring a Custom Item Dimension in the Code
Uploading Item Data via Data Import
Usually, item data such as a name, a brand, or a category should be transferred with the corresponding e-commerce event. GA4 offers the upload of certain data fields as an alternative. For this purpose, unique item IDs must be recorded when tracking the items. Then, you must complete the remaining fields by uploading the corresponding data in the GA4 property. For this task, you need the data for your items contained in a comma-separated values (CSV) file, as shown below.
![]() |
| Example of a CSV File with Item Data in Microsoft Excel |
Structure of the CSV File
You can enter values for the following dimensions for uploading:
- Item name (item_name)
- Item category 1 through 5 (item_cat1 through item_cat5)
- Item brand (brand)
- Item variant (variant)
The ID of the item must also be included as a unique identifier, as shown below. GA4 uses this ID to merge information from the file with the calls collected from the website or app: Only the item ID needs to be transferred in the tracking code on the website. The system then searches for the ID in the uploaded table, and the values from the columns are transferred.
![]() |
| Structure of a CSV File for the Upload |
If values for these dimensions have already been collected with the tracking code, GA4 will use the newly uploaded values instead. The uploaded values are used for tracking access until you upload a newer file with values.
Uploading CSV Data
To set up this upload, switch to the Data import menu item in the Property settings of the Administration section. Then, click the Create data source button and select Item data as the Data type.
Further down the page, as shown below, select whether you want to upload the file directly or whether it should be retrieved regularly from a server. In our example, we’ll select the CSV file manually by clicking on the corresponding button. For more about setting up data imports and regular uploads via Secure File Transfer Protocol (SFTP).
![]() |
| Importing Item Data as a Data Source |
On the second setup screen, you must assign the fields from the CSV file to the item dimensions from GA4. The ID assignment is already preselected since it is the prerequisite for the entire import. Now, select the columns that should be imported into their respective dimensions, as shown below.
![]() |
| Assigning Item Dimensions to the CSV File |
Note that you cannot edit these assignments later. You should therefore assign all columns that can potentially contain values, even if not all columns in the current file are filled with values.
Once the assignment has been made, click the Import button to start uploading the file. GA4 then processes the file and provides feedback in the data import overview page, as shown below. You can upload a new version of the CSV file using the Import now button in the list.
![]() |
| Status After Successful Import of Item Data |
Once the file has been processed, up to 24 hours may be needed before the uploaded information is visible in your reports.
How Does GA4 Process Uploaded Data?
The imported item data is merged in GA4 when the reports are queried. If Google Analytics finds uploaded data for an item ID, the values from the upload will be displayed in the report. This rule applies to both the data reports in the general user interface and to exploratory data analyses. As this merging only takes place at the time of the query, the replacements also apply to all item data that was collected before a file was uploaded.
Benefits and Drawbacks of Importing Item Data
If you subsequently upload item data to GA4, you can transfer less information to gtag or dataLayer calls in the store itself. This approach reduces the volume of data to be exchanged between your users’ browsers and GA4.
You cannot import values for all item dimensions by means of an upload. For example, the price cannot be taken from an uploaded file. For this reason, you must always transfer it with the respective item view in the gtag or dataLayer. This rule also applies to data that is only available for selected events, such as item lists or vouchers.
However, an upload step can also be used to subsequently correct incorrectly collected item data, as the uploaded data takes precedence over data collected by the website.
The subsequent merging of uploaded and collected item data also has a limitation: The imported data cannot be used in segments and audiences.
Sample Accounts and Demos from Google
The integration and evaluation of e-commerce tracking is not easy. The Google Analytics tags require multiple parameters with different functions. You’ve seen the wide variety of dimensions and metrics available. Above all, the implementation in a store always involves a certain amount of effort. For an idea of the requirements and the possibilities, Google provides a sample store and reports.
The GA4 Demo Account
Many reports for “normal” websites in GA4, such as the page analysis or reports on the technology used, can be tested on small websites with few hits. If necessary, you can click on a few links yourself and see the data flow in real time. To see GA4’s e-commerce reports in action, however, you need a running store with users, products, and buyers.
To enable you to view the reports filled with data, Google has released analytics data from its own merchandise store, as shown below. This store offers official fan merchandise with the Google logo (i.e., clothing, notebooks, water bottles, and more).
![]() |
| Google Gives Access to the GA4 Reports of Its Merchandise Store |
The activities in the store are collected in a GA4 property, which you can access at https://support.google.com/analytics/answer/6367342. Alternatively, you can search Google for “ga4 demo account.” In the middle of the page, you’ll find several links that will take you to the demo accounts, as shown in Figure 5.40. You must sign with your Google account if not already signed in, and you’ll then be taken to the GA4 report.
![]() |
| Access to the GA4 Demo Account via Help |
The demo account, as shown below, may also be of interest to you if you do not intend to work primarily with the e-commerce reports. In the demo account, you’ll find the following features:
![]() |
| The Home Page of the GA4 Demo Account from the Google Store |
- All reports on general website usage such as events and pages
- Real-time data
- E-commerce actions for transactions, purchase process steps, and items
- Various item data such as names, categories, and revenue
- Campaign data for organic and paid channels
- Audiences
- Custom dimensions and metrics
In the administration section, you won’t have admin rights to change things on this demo site. This imitation also applies to the library with its report templates. However, you can view settings and thus track data streams or custom dimensions, for example.
Under Explorations, you can create custom reports with the data and thus test the functions of the reporting engine.
Unfortunately, not all e-commerce functions are fully implemented in the demo account. Views and the purchase process are not merged for item lists and advertising material, and order coupons are missing completely. Nevertheless, the demo account is a good starting point for learning about e-commerce reports and the general use of GA4.
The E-Commerce Demo Store
Although Google’s online documentation is extensive and contains the events and parameters, not all possible combinations and cases can be covered in examples. To help you understand the necessary tracking codes, a demo store has therefore been put online, as shown in Figure 5.42. You can reach this demo store at https://enhancedecommerce.appspot.com/.
All elements of the store that should fire a tracking call are provided with an info icon. For example, if you click on the icon next to the Add To Cart button, an overlay appears with codes for the various implementation options. You can choose between the codes for integration via gtag or via Google Tag Manager with a dataLayer call, as shown below. Make sure you select Google Analytics 4 because the classic UA calls for e-commerce are similar but are not identical.
![]() |
| The Demo Store for Google Analytics Integrations |
In the store, you’ll find examples of product calls, list views, and clicks for categories and recommendation lists, internal advertising, and events for the order process. The store shows you the wide possibilities for e-commerce tracking using a concrete example to help you understand when and where certain data needs to be fired.
![]() |
| dataLayer View from the Demo Store |
Of course, not all possible cases that can occur in a store have been considered. You must transfer the example’s ideas to your own store and check which functions you want to offer yourself.
In this post, we covered the various measurements and reports GA4 provides for tracking e-commerce actions. Both individual items and multipart item lists to tracked entered in an online store. You can map purchase and checkout processes, and you can merge purchases and revenue across platforms and devices via unique user IDs.
Google provides sample accounts and sample stores to help you understand how the tracking function is implemented and how reports can be used.
The next post deals with the measurement and analysis of apps.
















































COMMENTS