GA4 Shopify App Event Definitions
📌 Bookmark this page.
Understanding how attribution metrics are derived and how event properties are translated from one platform to another can be difficult. Our team is committed to taking the guesswork out of managing attribution. The definitions below are shared to provide transparency and clarity in setting up and maintaining your attribution model.
Note: If you are exclusively leveraging Fueled’s GA4 Connector App for Shopify, you don’t need to worry about Fueled’s naming convention, as events will show up in Google Analytics correctly, using Google’s event schema.
Naming Conventions
One of the challenges in attribution tracking is that every platform, from Shopify to Google Analytics to Facebook Ads to Segment, uses different naming conventions to describe a shopper’s behavioral events, and the properties of those events.
It’s Fueled’s job handle all of these translations on behalf of our merchants. However, if you are looking to customize any of your Fueled events, it’s helpful to understand and adopt our naming conventions to keep your data clean and consistent.
Event Naming Convention
Fueled’s internal event naming convention follows the “Object-Action Framework.” What that means is that event names begin with the object upon which an action occurs, followed by a past-tense verb describing the action.
For example: when a user visits a product description page, we refer to this event as a Product Viewed
event, not a Viewed Product
or viewed_product
event. The majority of CDPs and attribution platforms follow this Object-Action Framework. (Google Analytics, however, does the opposite.)
Moreover, Fueled events are Title Cased, and use spaces between the Object and the Action. Google Analytics, on the other hand, uses snake_case naming.
Event Mapping between Fueled and Google Analytics
Fueled | Google Analytics | Automatically Tracked with Fueled’s GA4 App? | Notes |
---|---|---|---|
Product Added | add_to_cart | ✅ | If your storefront theme is based upon one of Shopify’s themes, and you haven’t customized the HTML markup of your “Add to Cart” buttons, these events should automatically fire with our client-side tracking script. |
Product Added to Wishlist | add_to_wishlist | ❌ | This event can be custom coded into a merchant’s Shopify theme, leveraging Fueled’s javascript library. |
Checkout Started | begin_checkout | ✅ | Fueled tracks this event as a server-side event by default. |
Account Logged In | login | ✅ | If your storefront theme is based upon one of Shopify’s themes, and you haven’t customized the HTML markup of your account screens, these events should automatically fire with our client-side tracking script. |
Promotion Clicked | select_promotion | ❌ | This event can be custom coded into a merchant’s Shopify theme, leveraging Fueled’s javascript library. |
Order Completed | purchase | ✅ | Fueled tracks this event as a server-side event by default. |
Order Refunded | refund | ❌ | This event can be custom coded into a merchant’s Shopify theme, leveraging Fueled’s javascript library. |
Page Viewed | pageview | ✅ |
|
Product Removed | remove_from_cart | ✅ | This event fires when a shopper removes a product from the full-page shopping cart page (/cart). There may be other places in a merchant’s storefront where products can be removed from the cart. Such events can be custom coded into a merchant’s Shopify theme, leveraging Fueled’s javascript library. |
Products Searched | search | ✅ | Fueled tracks these events client-side. |
Product Clicked | select_item | ❌ | This event can be custom coded into a merchant’s Shopify theme, leveraging Fueled’s javascript library. |
Product Shared | share | ❌ | This event can be custom coded into a merchant’s Shopify theme, leveraging Fueled’s javascript library. |
Account Created | sign_up | ✅ | Fueled tracks this event as a server-side event by default. |
Cart Viewed | view_cart | ✅ | Fueled tracks these events client-side. |
Product Viewed | view_item | ✅ | Fueled tracks these events client-side. |
Product List Viewed | view_item_list | ✅ | Fueled tracks these events client-side, if your storefront is using standard “Collections” pages. |
Promotion Viewed | view_promotion | ❌ | This event can be custom coded into a merchant’s Shopify theme, leveraging Fueled’s javascript library. |
Property Naming Convention
Fueled uses camelCasing
when labeling event properties. Google Analytics typically uses snake_casing
.
Fueled’s Data Layer Objects
When Fueled’s GA4 Connector App is installed, we provide an option for enabling a theme extension that installs a data layer and, optionally, injects client-side event tracking. You can leverage this data layer for your own purposes. Doing so is actually a great idea, as it helps ensure that you are using the data storefront variables across all of your client-side attribution scripts.
Our data layer exposes the following objects in your theme.
Customer Object
The Customer Object is only exposed when a shopper is logged into your store.
Property | Type | Shopify Storefront API Value | Description |
---|---|---|---|
Name | String | customer.first_name + customer.last_name | The shopper’s first and last name as a single value. |
externalCustomerId | String | customer.id | Shopify’s unique identifier for the customer. |
String | customer.email | The customer’s email address. | |
firstName | String | customer.first_name | The customer’s first name. |
lastName | String | customer.last_name | The customer’s last name. |
address |
| N/A (This object is generated using the Shopify storefront API variables listed below.) | The Address Object is made up of the following properties. |
address.street | String | customer.default_address.street | The customer’s default street address. |
address.city | String | customer.default_address.city | The customer’s default city. |
address.state | String | customer.default_address.province | The customer’s default state or province. |
address.postalCode | String | customer.default_address.zip | The customer’s default zip code. |
address.countryCode | String | customer.default_address.country_code | The customer’s default country code. |
Product Object
Product objects are exposed both on individual product pages, and as an array of products on Collection pages and so forth.
Property | Type | Shopify Storefront API Value | Description |
---|---|---|---|
productId | String | Shopify’s globally-unique identifier. | |
sku | String | product.selected_or_first_available_variant.sku | The Shopify SKU for either the selected product, or for the first available variant on a product page. |
quantity | Number | cartItemsJson[i].quantity | Note: only exposed on Cart pages, via the Cart JSON object. |
variant | String | product.selected_or_first_available_variant.id | Shopify’s globally-unique identifier for either the selected product, or for the first available variant on a product page. |
name | String | product.title | The product’s title. |
price | Number | product.price / 100 | The price of the currently selected product or variant. |
brand | String | product.vendor | The product’s vendor name. |
position | Number | N/A (Position is calculated for each product in a collection, carousel, or shopping cart.) | The position of the product in either a Collection or the Cart is calculated. Positioning starts with “1.” |
url | String | product.url | The product’s online URL |
imageUrl | String | product.featured_image | The URL of the feature product image. |
category | String | product.type | The product categorization/type. |
Cart Object
Exposed on the cart page (https://examplestore.com/cart).
Property | Type | Shopify Storefront API Value | Description |
---|---|---|---|
products | Array | N/A | The products array in the Cart Object uses the data structure described for the Product Object. |
total | Number | cart.total_price | Note: The Shopify cart |
GA4 Client-Side Events
The following events are sent client-side, from your Shopify storefront to Google Analytics 4, via our javascript library, which is installed into your active Shopify theme. These are the default events that Fueled tracks out of the box. Additional tracking events can be added to your theme with a small amount of custom code.
Note: Fueled currently supports event properties marked with ✅. Properties marked with ❌ are not currently supported.
add_to_cart
This event fires when an item is added to a cart for purchase.
GA4’s add_to_cart
event maps to Fueled’s generalized Product Added
event specification. The add_to_cart
event is populated with the following properties.
Note: The “add to cart” experiences on a Shopify theme are often heavily customized. Fueled’s out-of-the-box add_to_cart
attribution events only cover standard use cases. Customized tracking scripts may be needed to capture all add_to_cart
events on your website.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
currency | ✅ | String |
| currency is not available within the Shopify Storefront API | Currency of the items associated with the event, in 3-letter ISO 4217 format. If set, item-level currency is ignored. If not set, currency from the first item in items is used. If you set value then currency is required for revenue metrics to be computed accurately. |
value | ✅ | Number |
| Calculated, based upon the subtotal of the items being added to the cart (ie, price minus discounts, not including shipping or taxes). | The monetary value of the event. |
items | ✅ | Array | products | An array of product objects, exposed through the Shopify Storefront API. | An array of |
items.$.item_id | ✅ | String | products.$.id | product.id | The ID of the item. |
items.$.item_name | ✅ | String | products.$.name | product.title | The name of the item. |
items.$.affiliation | ❌ | String | N/A | N/A | Shopify doesn’t support |
items.$.coupon | ❌ | String | products.$.coupon | N/A | The coupon name/code associated with the item. Event-level and item-level coupon parameters are independent. |
items.$.currency | ❌ | String | products.$.currency | N/A | The currency, in 3-letter ISO 4217 format. If set, event-level currency is ignored. Multiple currencies per event is not supported. Each item should set the same currency. |
items.$.discount | ❌ | Number | products.$.discount | N/A | The monetary discount value associated with the item. This |
items.$.index | ✅ | Number | products.$.position | The position of an item/product in a storefront collection, carousel, or cart is calculated. | The index/position of the item in a list. (If applicable.) |
items.$.item_brand | ✅ | String | products.$.brand | product.vendor | The brand of the item. |
items.$.item_category | ❌ | String | products.$.categories (An array) | product.collections | The category of the item. If used as part of a category hierarchy or taxonomy then this will be the first category. |
items.$.item_list_id | ❌ | String | N/A | N/A | The ID of the list in which the item was presented to the user. If set, event-level item_list_id is ignored. If not set, event-level item_list_id is used, if present. |
items.$.item_list_name | ❌ | String | N/A | N/A | The name of the list in which the item was presented to the user. If set, event-level item_list_name is ignored. If not set, event-level item_list_name is used, if present. |
items.$.item_variant | ✅ | String | products.$.variant | product.selected_or_first_available_variant.id | The item variant or unique code or description for additional item details/options. |
items.$.location_id | ❌ | String | N/A | N/A | The location associated with the item. It's recommended to use the Google Place ID that corresponds to the associated item. A custom location ID can also be used. If set, event-level location_id is ignored.\nIf not set, event-level location_id is used, if present. |
items.$.price | ✅ | Number | products.$.price | product.price / 100 | The monetary price of the item, in units of the specified currency parameter. Note: This price does not include line-item discounts, taxes, or shipping. It is the sales price of the item at the time of purchase. |
items.$.quantity | ✅ | Number | products.$.quantity | cartLine.quantity | Item quantity added to a cart, an order, etc. |
👓 Fueled’s Product Added event schema also includes
cartId
, which is exposed to other Fueled destinations, such as Segment.cartId
represents the unique identifier of a shopping cart. We use cartId to connect GA4 carts, checkouts, and orders in our backend. However, cartId is not passed directly to GA4, given GA4’s PII requirements.
login
This event fires when a shopper logs into a Shopify storefront. Currently, the event is logged with no additional properties.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
method | ❌ | String | N/A | N/A | The method used to login. |
pageview
Fueled’s GA4 Connector for Shopify injects Google GTag.js script on each Shopify storefront page load. This allows Google Analytics 4 to directly track page view events. We do this, because this tag needs to fire to instantiate a GA4 Customer ID client-side.
To learn more about what GA4 collects for each page view event, visit GA4’s event documentation site.
remove_from_cart
This event fires when an item is removed from a shopping cart.
GA4’s remove_from_cart
event maps to Fueled’s generalized Product Removed
event specification. The remove_from_cart
event is populated with the following properties.
Note: Fueled’s out-of-the-box client-side event tracking only tracks remove_from_cart
events that occur on Shopify’s standard cart page. Customizations may be required to track all remove_from_cart
events in a merchant’s theme.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
items | ✅ | Array | products | An array of product objects, exposed through the Shopify Storefront API. | An array of |
items.$.item_id | ✅ | String | products.$.id | product.id | The ID of the item. |
items.$.item_name | ✅ | String | products.$.name | product.title | The name of the item. |
items.$.affiliation | ❌ | String | N/A | N/A | Shopify doesn’t support |
items.$.coupon | ❌ | String | products.$.coupon | N/A | The coupon name/code associated with the item. Event-level and item-level coupon parameters are independent. |
items.$.currency | ❌ | String | products.$.currency | N/A | The currency, in 3-letter ISO 4217 format. If set, event-level currency is ignored. Multiple currencies per event is not supported. Each item should set the same currency. |
items.$.discount | ❌ | Number | products.$.discount | N/A | The monetary discount value associated with the item. This |
items.$.index | ✅ | Number | products.$.position | The position of an item/product in a storefront collection, carousel, or cart is calculated. | The index/position of the item in a list. (If applicable.) |
items.$.item_brand | ✅ | String | products.$.brand | product.vendor | The brand of the item. |
items.$.item_category | ❌ | String | products.$.categories (An array) | product.collections | The category of the item. If used as part of a category hierarchy or taxonomy then this will be the first category. |
items.$.item_list_id | ❌ | String | N/A | N/A | The ID of the list in which the item was presented to the user. If set, event-level item_list_id is ignored. If not set, event-level item_list_id is used, if present. |
items.$.item_list_name | ❌ | String | N/A | N/A | The name of the list in which the item was presented to the user. If set, event-level item_list_name is ignored. If not set, event-level item_list_name is used, if present. |
items.$.item_variant | ✅ | String | products.$.variant | product.selected_or_first_available_variant.id | The item variant or unique code or description for additional item details/options. |
items.$.location_id | ❌ | String | N/A | N/A | The location associated with the item. It's recommended to use the Google Place ID that corresponds to the associated item. A custom location ID can also be used. If set, event-level location_id is ignored. If not set, event-level location_id is used, if present. |
items.$.price | ✅ | Number | products.$.price | product.price / 100 | The monetary price of the item, in units of the specified currency parameter. Note: This price does not include line-item discounts, taxes, or shipping. It is the sales price of the item at the time of purchase. |
items.$.quantity | ✅ | Number | products.$.quantity | cartLine.quantity | Item quantity removed from a cart, an order, etc. |
search
This event fires when a shopper uses Shopify’s built-in search..
GA4’s search
event maps to Fueled’s generalized Product Search
event specification. The search event is populated with the following properties.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
search_term | ✅ | String | query | search.terms | The terms used for the search event. |
sign_up
This event fires when a shopper registers and creates a user account on a Shopify store.
GA4’s sign_up
event maps to Fueled’s generalized Account Created
event specification. The sign_up
event is populated with the following properties.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
✅ | String | customer.email | The customer’s email address. | ||
first_name | ✅ | String | firstName | customer.first_name | The customer’s first name. |
last_name | ✅ | String | lastName | customer.last_name | The customer’s last name. |
view_cart
This event fires when a shopper views their Shopify cart.
GA4’s view_cart
event maps to Fueled’s generalized Cart Viewed
event specification. The view_cart
event is populated with the following properties.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
currency | ✅ | String |
| currency is not available within the Shopify Storefront API | Currency of the items associated with the event, in 3-letter ISO 4217 format. If set, item-level currency is ignored. If not set, currency from the first item in items is used. If you set value then currency is required for revenue metrics to be computed accurately. |
value | ✅ | Number |
| Calculated, based upon the subtotal of the items being added to the cart (ie, price minus discounts, not including shipping or taxes). | The monetary value of the event. |
items | ✅ | Array | products | An array of product objects, exposed through the Shopify Storefront API. | An array of |
items.$.item_id | ✅ | String | products.$.id | cartItemsJson[i].id (Note: rather than pull from a Shopify theme variable. On the cart page, we pull this value from the Cart JSON object.) | The ID of the item. |
items.$.item_name | ✅ | String | products.$.name | cartItemsJson[i].title (Note: rather than pull from a Shopify theme variable. On the cart page, we pull this value from the Cart JSON object.) | The name of the item. |
items.$.affiliation | ❌ | String | N/A | N/A | Shopify doesn’t support |
items.$.coupon | ❌ | String | products.$.coupon | N/A | The coupon name/code associated with the item. Event-level and item-level coupon parameters are independent. |
items.$.currency | ❌ | String | products.$.currency | N/A | The currency, in 3-letter ISO 4217 format. If set, event-level currency is ignored. Multiple currencies per event is not supported. Each item should set the same currency. |
items.$.discount | ❌ | Number | products.$.discount | N/A | The monetary discount value associated with the item. This |
items.$.index | ✅ | Number | products.$.position | The position of an item/product in a storefront collection, carousel, or cart is calculated. | The index/position of the item in a list. (If applicable.) |
items.$.item_brand | ✅ | String | products.$.brand | cartItemsJson[i].vendor (Note: rather than pull from a Shopify theme variable. On the cart page, we pull this value from the Cart JSON object.) | The brand of the item. |
items.$.item_category | ❌ | String | products.$.categories (An array) | N/A | The category of the item. If used as part of a category hierarchy or taxonomy then this will be the first category. |
items.$.item_list_id | ❌ | String | N/A | N/A | The ID of the list in which the item was presented to the user. If set, event-level item_list_id is ignored. If not set, event-level item_list_id is used, if present. |
items.$.item_list_name | ❌ | String | N/A | N/A | The name of the list in which the item was presented to the user. If set, event-level item_list_name is ignored. If not set, event-level item_list_name is used, if present. |
items.$.item_variant | ✅ | String | products.$.variant | cartItemsJson[i].variant_id.toString() (Note: rather than pull from a Shopify theme variable. On the cart page, we pull this value from the Cart JSON object.) | The item variant or unique code or description for additional item details/options. |
items.$.location_id | ❌ | String | N/A | N/A | The location associated with the item. It's recommended to use the Google Place ID that corresponds to the associated item. A custom location ID can also be used. If set, event-level location_id is ignored. If not set, event-level location_id is used, if present. |
items.$.price | ✅ | Number | products.$.price | cartItemsJson[i].final_price / 100 (Note: rather than pull from a Shopify theme variable. On the cart page, we pull this value from the Cart JSON object.) | The monetary price of the item, in units of the specified currency parameter. Note: This price does not include line-item discounts, taxes, or shipping. It is the sales price of the item at the time of purchase. |
items.$.quantity | ✅ | Number | products.$.quantity | cartItemsJson[i].quantity (Note: rather than pull from a Shopify theme variable. On the cart page, we pull this value from the Cart JSON object.) | Item quantity added to a cart, an order, etc. |
view_item
This event fires when a shopper views a Shopify product page.
GA4’s view_item
event maps to Fueled’s generalized Product Viewed
event specification. The view_item
event is populated with the following properties.
Note: GA4’s view_item event expects that the viewed product is returned in an array, even though it has a single item in that array.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
currency | ❌ | String | N/A | N/A | Currency of the items associated with the event, in 3-letter ISO 4217 format. If set, item-level currency is ignored. If not set, currency from the first item in items is used. If you set value then currency is required for revenue metrics to be computed accurately. |
value | ❌ | Number | N/A | N/A | |
items | ✅ | Array | products | An array of product objects, exposed through the Shopify Storefront API. | An array of |
items.$.item_id | ✅ | String | products.$.id | product.id | The ID of the item. |
items.$.item_name | ✅ | String | products.$.name | product.title | The name of the item. |
items.$.affiliation | ❌ | String | N/A | N/A | Shopify doesn’t support |
items.$.coupon | ❌ | String | products.$.coupon | N/A | The coupon name/code associated with the item. Event-level and item-level coupon parameters are independent. |
items.$.currency | ❌ | String | products.$.currency | N/A | The currency, in 3-letter ISO 4217 format. If set, event-level currency is ignored. Multiple currencies per event is not supported. Each item should set the same currency. |
items.$.discount | ❌ | Number | products.$.discount | N/A | The monetary discount value associated with the item. This |
items.$.index | ✅ | Number | products.$.position | The position of an item/product in a storefront collection, carousel, or cart is calculated. | The index/position of the item in a list. (If applicable.) |
items.$.item_brand | ✅ | String | products.$.brand | product.vendor | The brand of the item. |
items.$.item_category | ❌ | String | products.$.categories (An array) | product.collections | The category of the item. If used as part of a category hierarchy or taxonomy then this will be the first category. |
items.$.item_list_id | ❌ | String | N/A | N/A | The ID of the list in which the item was presented to the user. If set, event-level item_list_id is ignored. If not set, event-level item_list_id is used, if present. |
items.$.item_list_name | ❌ | String | N/A | N/A | The name of the list in which the item was presented to the user. If set, event-level item_list_name is ignored. If not set, event-level item_list_name is used, if present. |
items.$.item_variant | ✅ | String | products.$.variant | product.selected_or_first_available_variant.id | The item variant or unique code or description for additional item details/options. |
items.$.location_id | ❌ | String | N/A | N/A | The location associated with the item. It's recommended to use the Google Place ID that corresponds to the associated item. A custom location ID can also be used. If set, event-level location_id is ignored. If not set, event-level location_id is used, if present. |
items.$.price | ✅ | Number | products.$.price | product.price / 100 | The monetary price of the item, in units of the specified currency parameter. Note: This price does not include line-item discounts, taxes, or shipping. It is the sales price of the item at the time of purchase. |
view_item_list
This event fires when a shopper views a Shopify collections page.
GA4’s view_item_list
event maps to Fueled’s generalized Product List Viewed
event specification. The view_item_list
event is populated with the following properties.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
item_list_id | ❌ | String | N/A | N/A | The ID of the list or category page in which an item is presented to the user. |
item_list_name | ❌ | String | N/A | N/A | The name of the list or category page in which an item is presented to the user. |
items | ✅ | Array | products | An array of product objects, exposed through the Shopify Storefront API. | An array of |
items.$.item_id | ✅ | String | products.$.id | product.id | The ID of the item. |
items.$.item_name | ✅ | String | products.$.name | product.title | The name of the item. |
items.$.affiliation | ❌ | String | N/A | N/A | Shopify doesn’t support |
items.$.coupon | ❌ | String | products.$.coupon | N/A | The coupon name/code associated with the item. Event-level and item-level coupon parameters are independent. |
items.$.currency | ❌ | String | products.$.currency | N/A | The currency, in 3-letter ISO 4217 format. If set, event-level currency is ignored. Multiple currencies per event is not supported. Each item should set the same currency. |
items.$.discount | ❌ | Number | products.$.discount | N/A | The monetary discount value associated with the item. This |
items.$.index | ✅ | Number | products.$.position | The position of an item/product in a storefront collection, carousel, or cart is calculated. | The index/position of the item in a list. (If applicable.) |
items.$.item_brand | ✅ | String | products.$.brand | product.vendor | The brand of the item. |
items.$.item_category | ❌ | String | products.$.categories (An array) | product.collections | The category of the item. If used as part of a category hierarchy or taxonomy then this will be the first category. |
items.$.item_list_id | ❌ | String | N/A | N/A | The ID of the list in which the item was presented to the user. If set, event-level item_list_id is ignored. If not set, event-level item_list_id is used, if present. |
items.$.item_list_name | ❌ | String | N/A | N/A | The name of the list in which the item was presented to the user. If set, event-level item_list_name is ignored. If not set, event-level item_list_name is used, if present. |
items.$.item_variant | ✅ | String | products.$.variant | product.selected_or_first_available_variant.id | The item variant or unique code or description for additional item details/options. |
items.$.location_id | ❌ | String | N/A | N/A | The location associated with the item. It's recommended to use the Google Place ID that corresponds to the associated item. A custom location ID can also be used.\n\nIf set, event-level location_id is ignored.\nIf not set, event-level location_id is used, if present. |
items.$.price | ✅ | Number | products.$.price | product.price / 100 | The monetary price of the item, in units of the specified currency parameter. Note: This price does not include line-item discounts, taxes, or shipping. It is the sales price of the item at the time of purchase. |
GA4 Server-Side Events
The following events are sent server-side, from Shopify to Google Analytics 4, to ensure the highest-level of attribution tracking possible.
begin_checkout
GA4’s begin_checkout
event maps to Fueled’s generalized Order Completed
event specification. The begin_checkout event is populated with the following properties.
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
currency | ✅ | String | Currency of the items associated with the event, in 3-letter ISO 4217 format. If set, item-level currency is ignored. If not set, currency from the first item in items is used. If you set value then currency is required for revenue metrics to be computed accurately. | ||
value | ✅ | Number | The monetary value of the event. | ||
coupon | ❌ | String | The coupon name/code associated with the event. Event-level and item-level coupon parameters are independent. | ||
items | ✅ | Array | products | An array of product objects, exposed through the Shopify Admin API | An array of |
items.$.item_id | ✅ | String | products.$.id | product.id | The ID of the item. |
items.$.item_name | ✅ | String | products.$.name | product.title | The name of the item. |
items.$.affiliation | ❌ | String | N/A | N/A | Shopify doesn’t support |
items.$.coupon | ❌ | String | products.$.coupon | N/A | The coupon name/code associated with the item. Event-level and item-level coupon parameters are independent. |
items.$.currency | ❌ | String | products.$.currency | N/A | The currency, in 3-letter ISO 4217 format. If set, event-level currency is ignored. Multiple currencies per event is not supported. Each item should set the same currency. |
items.$.discount | ❌ | Number | products.$.discount | N/A | The monetary discount value associated with the item. This |
items.$.item_brand | ✅ | String | products.$.brand | product.vendor | The brand of the item. |
items.$.item_category | ❌ | String | products.$.categories (An array) | product.collections | The category of the item. If used as part of a category hierarchy or taxonomy then this will be the first category. |
items.$.item_list_id | ❌ | String | N/A | N/A | The ID of the list in which the item was presented to the user. If set, event-level item_list_id is ignored. If not set, event-level item_list_id is used, if present. |
items.$.item_list_name | ❌ | String | N/A | N/A | The name of the list in which the item was presented to the user. If set, event-level item_list_name is ignored. If not set, event-level item_list_name is used, if present. |
items.$.item_variant | ✅ | String | products.$.variant | product.selected_or_first_available_variant.id | The item variant or unique code or description for additional item details/options. |
items.$.location_id | ❌ | String | N/A | N/A | The location associated with the item. It's recommended to use the Google Place ID that corresponds to the associated item. A custom location ID can also be used.\n\nIf set, event-level location_id is ignored.\nIf not set, event-level location_id is used, if present. |
items.$.price | ✅ | Number | products.$.price | product.price / 100 | The monetary price of the item, in units of the specified currency parameter. Note: This price does not include line-item discounts, taxes, or shipping. It is the sales price of the item at the time of purchase. |
purchase
GA4 Event Property | Supported | Type | Corresponding Fueled Property | Shopify Object/Property | Description |
---|---|---|---|---|---|
currency | ✅ | String | Currency of the items associated with the event, in 3-letter ISO 4217 format. If set, item-level currency is ignored. If not set, currency from the first item in items is used. If you set value then currency is required for revenue metrics to be computed accurately. | ||
value | ✅ | Number | The monetary value of the event. | ||
coupon | ❌ | String | The coupon name/code associated with the event. Event-level and item-level coupon parameters are independent. | ||
items | ✅ | Array | products | An array of product objects, exposed through the Shopify Admin API | An array of |
items.$.item_id | ✅ | String | products.$.id | product.id | The ID of the item. |
items.$.item_name | ✅ | String | products.$.name | product.title | The name of the item. |
items.$.affiliation | ❌ | String | N/A | N/A | Shopify doesn’t support |
items.$.coupon | ❌ | String | products.$.coupon | N/A | The coupon name/code associated with the item. Event-level and item-level coupon parameters are independent. |
items.$.currency | ❌ | String | products.$.currency | N/A | The currency, in 3-letter ISO 4217 format. If set, event-level currency is ignored. Multiple currencies per event is not supported. Each item should set the same currency. |
items.$.discount | ❌ | Number | products.$.discount | N/A | The monetary discount value associated with the item. This |
items.$.item_brand | ✅ | String | products.$.brand | product.vendor | The brand of the item. |
items.$.item_category | ❌ | String | products.$.categories (An array) | product.collections | The category of the item. If used as part of a category hierarchy or taxonomy then this will be the first category. |
items.$.item_list_id | ❌ | String | N/A | N/A | The ID of the list in which the item was presented to the user. If set, event-level item_list_id is ignored. If not set, event-level item_list_id is used, if present. |
items.$.item_list_name | ❌ | String | N/A | N/A | The name of the list in which the item was presented to the user. If set, event-level item_list_name is ignored. If not set, event-level item_list_name is used, if present. |
items.$.item_variant | ✅ | String | products.$.variant | product.selected_or_first_available_variant.id | The item variant or unique code or description for additional item details/options. |
items.$.location_id | ❌ | String | N/A | N/A | The location associated with the item. It's recommended to use the Google Place ID that corresponds to the associated item. A custom location ID can also be used.\n\nIf set, event-level location_id is ignored.\nIf not set, event-level location_id is used, if present. |
items.$.price | ✅ | Number | products.$.price | product.price / 100 | The monetary price of the item, in units of the specified currency parameter. Note: This price does not include line-item discounts, taxes, or shipping. It is the sales price of the item at the time of purchase. |
Last updated