Google Analytics 4 (GA4) is the latest iteration of Google's analytics tool that helps you measure the traffic and engagement across your websites and apps. Using this destination, you can enhance your existing tracking implementation to match your data collection needs with GA4. Your data will be sent server-side taking advantage of the Google Measurement Protocol API and in form of events.
Google designed the Measurement Protocol with some limitations, especially it does not allow to manage session.
For session handling, you should currently setup a gtag config tag that will fire on the first page (only) of the user's session.
For this purpose you can use on your website the tag template "gtag - Config with options" as it comes with the additional configuration option to send the Google reserved event session_start
while avoid firing the event page_view
:
The Google Analytics 4 destination provides the following key features:
Events structure: our Events reference model fits Google's one, meaning that your data is properly bridged to the expected fields in an optimized way.
Prebuilt mappings: data mapping for event-based destinations happens automatically, which simplifies user inputs.
Refined data: you can freely push additional information based on your specific needs (E.g. adding custom events, custom event and user properties).
Support for multi-item data: information included in the item array is dispatched to GA4.
Send all properties option: send all your event properties to GA4 with a single click.
Before you get started with this destination, make sure you have a GA4 property in your Google Analytics account. You can find more information on this topic following these detailed articles:
App related fields are enabled by flagging Enable App Tracking
.
The properties context.app.name
and context.device.type
are required for app tracking. More details on these fields are available by following this LINK.
The user identifier should be passed in both the client-side gtag and server-side. For more information, you can follow these links: [GA4] Measure activity across platforms with User-ID and [GA4] Reporting: deduplicate user counts.
When Google Signals is enabled, same device remarketing is supported. For cross-device remarketing, the user identifier is additionally required.
Web API Secret
Measurement Id
Android API Secret
Android Firebase App ID
iOS API Secret
iOS Firebase App ID
App Instance ID Field
Send All Properties
Custom Event Properties
Custom User Properties
Enable Enhanced Conversions
Enable Proxy Mode
Client Id Cookie Name
The "Client Id" is the right most string in the cookie, including a single dot. E.g. see the following blue highlighted string "GA1.1.XXXXXXXXXX.XXXXXXXXXX".
Engagement Time in
Milliseconds
Enable debug mode
Send events for
validation only
[1] Field available after flagging the Enable App Tracking
checkbox.
When providing a Measurement Id
, the session identifier is retrieved from the cookie named _ga_<Measurement Id>
(E.g. "_ga_SE92QCQ4Q1", without quotes and the initial string "G-"). If the cookie is not provided or with App "Data streams", the default property context.device.lifecycle.session_id
is used. More details on how sessions work in Google Analytics 4 are available following this LINK.
This destination provides automatic mapping between our Events reference model and GA4 events. In this section, you will learn what properties are set so you can expect to see those details in GA4 reporting.
More details on GA4 standard events are available following this LINK. To ensure that custom event properties are picked up by GA4, you must create event-scoped dimensions. You can find more details by following this link: [GA4] Custom dimensions and metrics.
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Coupon
Type: String
Coupon code applied.
coupon
coupon
Payment Method
Type: String
The payment method.
payment_type
payment_method
Revenue
Type: Number
The revenue of the event.
revenue
revenue
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Coupon
Type: String
Coupon code applied.
coupon
coupon
Shipping Tier
Type: String
The shipping tier (E.g. Next-day
) selected for delivery of the item.
shipping_tier
shipping_tier
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Coupon
Type: String
Coupon code applied.
coupon
coupon
Revenue
Type: Number
The revenue of the event.
revenue
revenue
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Transaction Id
Type: String
The transaction identifier.
id
id
Method
Type: String
The login method.
method
method
Page Location
Type: String
The current page URL.
page_location
url
Page Referrer
Type: String
The previous page URL.
page_referrer
referrer
Page Title
Type: String
The current page title.
page_title
title
Page Name
Type: String
The current page name.
page_name
page_name
Page Type
Type: String
The current page type.
page_type
page_type
Page Path
Type: String
The current page path.
page_path
path
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Transaction Id
Required
Type: String
The transaction identifier.
id
id
Affiliation
Type: String
Affiliation information.
affiliation
affiliation
Coupon
Type: String
Coupon code applied.
coupon
coupon
Shipping
Type: Number
Shipping cost.
shipping
shipping_amount
Tax
Type: Number
Tax amount.
tax
tax_amount
Revenue
Type: Number
The revenue of the event.
revenue
revenue
Conversion Type
Type: String
The conversion type.
conversion_type
type
Conversion Status
Type: String
The conversion status.
conversion_status
status
Conversion Url
Type: String
The conversion status.
conversion_url
url
Payment Method
Type: String
The payment method.
payment_type
payment_method
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Transaction Id
Required
Type: String
The transaction identifier.
id
id
Affiliation
Type: String
Affiliation information.
affiliation
affiliation
Coupon
Type: String
Coupon code applied.
coupon
coupon
Shipping
Type: Number
Shipping cost.
shipping
shipping_amount
Tax
Type: Number
Tax amount.
tax
tax_amount
Revenue
Type: Number
The revenue of the event.
revenue
revenue
Conversion Type
Type: String
The conversion type.
conversion_type
type
Conversion Status
Type: String
The conversion status.
conversion_status
status
Conversion Url
Type: String
The conversion url.
conversion_url
url
Payment Method
Type: String
The payment method.
payment_type
payment_method
Items
Required
for partial refunds
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Search Term
Required
Type: String
The term that was searched for.
search_term
search_term
Content Type
Type: String
The term that was searched for.
content_type
content_type
Item Id
Type: String
An identifier for the item that was selected.
item_id
item_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
item_list_name
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Method
Type: String
The method used for sign up.
method
method
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Currency
Required
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Required
Type: Number
The value of the event.
value
value
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
item_list_name
Items
Required
Type: Array
The list of products of the event.
items
items
Item Id
Required
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Required
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
You can send custom events to better fit your specific needs.
More details on how you can create and manage custom events are available following this link: [GA4] Modify and create events via the user interface. The following properties are automatically attached to the event.
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
currency
Value
Type: Number
The value of the event.
value
value
Transaction Id
Type: String
The transaction identifier.
id
id
Content Type
Type: String
The transaction identifier.
content_type
content_type
Conversion Type
Type: String
The conversion type.
conversion_type
type
Conversion Status
Type: String
The conversion status.
conversion_status
status
Conversion Url
Type: String
The conversion url.
conversion_url
url
Coupon
Type: String
Coupon code applied.
coupon
coupon
Item Id
Type: String
An identifier for the item that was selected.
item_id
item_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
item_list_name
Method
Type: String
Method used.
method
method
Page Location
Type: String
The current page URL.
page_location
url
Page Referrer
Type: String
The previous page URL.
page_referrer
referrer
Page Title
Type: String
The current page title.
page_title
title
Page Name
Type: String
The current page name.
page_name
page_name
Page Type
Type: String
The current page type.
page_type
page_type
Page Path
Type: String
The current page type.
page_path
path
Payment Method
Type: String
The payment method.
payment_type
payment_method
Revenue
Type: Number
The revenue of the event.
revenue
revenue
Search Term
Type: String
The term that was searched for.
search_term
search_term
Shipping Tier
Type: String
The shipping tier (E.g. Next-day
) selected for delivery of the item.
shipping_tier
shipping_tier
Shipping
Type: Number
Shipping cost.
shipping
shipping_amount
Tax
Type: Number
Tax amount.
tax
tax_amount
Items
Type: Array
The list of products of the event.
items
items
Item Id
Type: String
The ID of the item.
item_id
items.X.id
Item Name
Type: String
The name of the item.
item_name
items.X.product.name
Affiliation
Type: String
A product affiliation to designate a supplying company or brick and mortar store location.
affiliation
items.X.product.affiliation
Coupon
Type: String
The coupon name/code associated with the item.
coupon
items.X.coupon
Currency
Type: String
Currency, in 3-letter ISO 4217 format.
currency
items.X.product.currency
Discount
Type: Number
The monetary discount value associated with the item.
discount
items.X.discount
Index
Type: Number
The index/position of the item in a list.
index
items.X.list_position
Item Brand
Type: String
The brand of the item.
item_brand
items.X.product.brand
Item Category
Type: String
The category of the item.
item_category
items.X.product.category_1
Item Category 2
Type: String
The second category hierarchy or additional taxonomy for the item.
item_category2
items.X.product.category_2
Item Category 3
Type: String
The third category hierarchy or additional taxonomy for the item.
item_category3
items.X.product.category_3
Item Category 4
Type: String
The fourth category hierarchy or additional taxonomy for the item.
item_category4
items.X.product.category_4
Item Category 5
Type: String
The fifth category hierarchy or additional taxonomy for the item.
item_category5
items.X.product.category_5
Item List Id
Type: String
The ID of the list in which the item was presented to the user.
item_list_id
items.X.product.list_id
Item List Name
Type: String
The name of the list in which the item was presented to the user.
item_list_name
items.X.product.list_name
Item Variant
Type: String
The item variant or unique code or description for additional item details/options.
item_variant
items.X.variant
Location Id
Type: String
The location associated with the item.
location_id
items.X.product.location_id
Price
Type: Number
The monetary price of the item, in units of the specified currency parameter.
price
items.X.product.price
Quantity
Type: Number
Item quantity.
quantity
items.X.quantity
add_payment_info
add_payment_info
add_shipping_info
add_shipping_info
add_to_cart
add_to_cart
add_to_wishlist
add_to_wishlist
begin_checkout
begin_checkout
generate_lead
generate_lead
login
login
page_view
page_view
purchase
purchase
refund
refund
remove_from_cart
remove_from_cart
search
search
select_content
select_content
select_item
select_item
sign_up
sign_up
view_cart
view_cart
view_item
view_item
view_item_list
view_item_list
[Custom Event]
[Custom Event]
When enabling this feature, you can send user-related data together with the user identifier. This can be used to improve behavior and conversion measurement. More details are available following this LINK.
When Proxy Mode is enabled, ensure the User Id
field is set to None
as its value must be present.
Google properties are set starting from the path user_data
. The property user_id
is set in the base path.
user.id
user_id
[*]
user.email_sha256
sha256_email_address
[1]
user.phone
sha256_phone_number
[1]
user.firstname
sha256_first_name
[1][2]
user.lastname
sha256_last_name
[1][2]
user.street
sha256_street
[1][2]
user.city
city
[2][3]
user.state
region
[2][3]
user.zipcode
postal_code
[2][3]
user.country
country
[2]
[*] Mandatory property.
[1] Automatically normalized and hashed, if provided in clear text.
[2] Property set starting from the path user_data.address
.
[3] Automatically normalized.
Depending on your licence (standard or 360), sending events to GA4 has some different limitations: https://support.google.com/analytics/answer/11202874?sjid=10370297212042052180-EU
Anonymize data before to send it to Google
The protection of user privacy has become a necessity with the implementation of the GDPR. In accordance with this regulation, you should delete any personally identifiable information from user data before transferring it to a tool owned by a US entity, owing to the invalidation of Privacy Shield.
The CNIL recommended on June 7, 2022 that proxification should be implemented along with other specific measures to ensure the validity of the use of GA4.
The proxy mode option in the GA4 destination allows you to anonymize data before to send it to Google.
When enabled, the proxy mode gives you access to a number of options that allow you to choose granularly how each parameter should be anonymized.
You can find below the CNIL recommandation, and for each parameter the proxy mode give you a userfriendly way to manage anonymisation:
the absence of transfer of the IP address to the servers of the analytics tool. If a location is transmitted to the servers of the measurement tool, it must be carried out by the proxy server and the level of precision must ensure that this information does not allow the person to be re-identified (for example, by using a geographical mesh ensuring a minimum number of Internet users per cell); Solution: You can choose to obfusctate the IP (the last octet (the last portion) of the IP address is replaced by 0) or to delete it completly. Obfuscation is often preferred because it allows to remove the identifying character of the IP while keeping the geolocation features of the country
the replacement of the user identifier by the proxy server. To ensure effective pseudonymisation, the algorithm performing the replacement should ensure a sufficient level of collision (i.e. a sufficient probability that two different identifiers will give an identical result after a hash) and include a time-varying component (adding a value to the hashed data that evolves over time so that the hash result is not always the same for the same identifier) ; Solution: You can choose to pseudonymize the client id (cid) and user id (uid). This pseudonymization option consist to replace the id by a hash of id plus a salt. The id will be first concatened with a salt that changes every 3h approximately and then be hased using SHA256. This allows to create anonymous ids that are identical within a session but different from session to session. This will prevent GA4 from tracking a user over time.
the removal of external referrer information from the site; Solution: You can choose to delete it or keep only internal domains.
the removal of any parameters contained in the collected URLs (e.g. UTMs, but also URL parameters allowing internal routing of the site); Solution: You can choose to delete all url parameters, keep only specific parameters and/or keep UTMs in some case
reprocessing of information that can be used to generate a fingerprint, such as user-agents, to remove the rarest configurations that can lead to re-identification; Solution: Choosing to delete completly the user-agent seems to be the best option.
the absence of collection of cross-site or lasting identifiers (CRM ID, unique ID); Solution: Use the Properties Transformation feature or the Data Cleansing feature to treat on a case by case basis by deleting/hashing/transforming your properties (see Manage custom PII data below) It is often easier to completly delete the user id.
the deletion of any other data that could lead to re-identification. Solution: Use the Properties Transformation feature or the Data Cleansing feature to treat on a case by case basis by deleting/hashing/transforming your properties (see Manage custom PII data below)
In addition to the GA4 proxy mode, you can also use on each destination, the Properties Transformation feature or the Data Cleansing feature to transform/delete/hash any event property before to send it to the partner.
Absence of IP address transfer to measurement tool servers
This point is normal and standard.
Anonymize IPs by removing the last 3 characters. Impact: This may result in a loss of location precision, going from a measurement at the city level to that of the region.
Replacement of user identifier by the proxy server
The CNIL doubts that Google does not use this data in conjunction with other third-party data.
Add pseudonymisation before sending the ID. No impact.
Removal of external referrer information (or "referrer") from the site
Complete removal of the referrer is a surprising proposition, while just reducing it to the domain name is common in other tools (Safari, Adblockers, ...)
Reduce the referrer to the domain name, which is a simple statistical measure of audience. If this suggestion is followed, there will be no impact. (If the CNIL recommendation is followed, the tool will become useless or almost useless) You can also choose to only authorize internal domains, in this case the impact can be important, especially on source traffic reports.
Removal of any parameters contained in collected URLs
It is legitimate to remove URL parameters containing personal information, but maybe not general information like utm_campaigns.
Remove URL parameters on a case-by-case basis if they contain personally identifiable data. Utm_campaigns can be kept if they are properly managed, but the question arises for advertising click IDs such as fbclid and gclid. If the CNIL recommendation is followed, the tool will become useless or almost useless, while if our recommendation is followed, there will be little impact. In case of gclid removal, utms will need to be used to tag Google Ads campaigns.
Retreatment of information that could contribute to generating a fingerprint
This request is legitimate and common and will be implemented in browsers in the future.
Remove unnecessary information from the user agent to minimize loss of granular information such as the phone model. Choosing to delete completly the user-agent seems to be the easiest option. Impact: not that low. Application of this measure no longer distinguishes device type (device _category)
Absence of any cross-site or deterministic (CRM, unique ID) identifier collection
This request is considered irrelevant as long as consent is obtained. These IDs cannot be used by Google for other data cross-referencing.
It is recommended to request consent for the use of these IDs and to treat them securely if consent is given. But you may want to hash all this ids before to send it to Google (in that case you can use Properties transformation)
As with classical GA4 server-side setups, you need to setup a single initial client-side Gtag tag which will only be triggered once per visit and will send an empty initialization event. This is necessary due to current limitations of Google's protocol.
your first party subdomain set in domain management
In this case the transpor_url
has to be set to:
https://
YOUR_1ST_TRACKING_DOMAIN
.com
/
cdp
/
events?tc_s=
YOURSITEID
&token=
YOURSOURCEKEY
&event_name=ga_session_start&ga_url_param=
or our third party collection domain collect.commander1.com
In this case the transpor_url
has to be set to:
https://collect.commander1.com/events?tc_s=
YOURSITEID
&token=
YOURSOURCEKEY
&event_name=ga_session_start&ga_url_param=
Consequently, this first hit is no longer sent to Google, but to Commanders Act server, which transforms it into a CA event. This event will then be sent to your GA4 destination where it will be processed (pseudonymized, etc. depending on the chosen settings) before being sent back to Google.
Apart from this first client-side hit, all other events from the website should be sent from any source, for instance through our function cact('trigger', 'myEventName', ...). These events will also, of course, reach your GA4 destination where the data will be pseudonymized according to the settings of the destination.
- In the settings tab, check the "Enable proxy mode" option and choose wich pseudonymisation/treatment you want to apply. - If needed hash your custom PII data through the smart mapping, properties transformation or Data Cleansing
Go through Event Inspector and inspect outgoing events.
Required for Web Data Streams
An that is generated through the Google Analytics UI for a "Web Data Stream". To create this value, navigate in the Google Analytics interface following:
Admin
➜ Data Streams
➜ Choose your stream ➜ Measurement Protocol API secret
➜ Create
.
Required for Web Data Streams
The for a "Web Data Stream". Found in the Google Analytics interface following:
Admin
➜ Data Streams
➜ Choose your stream ➜ Measurement Id
. E.g. "G-XXXXXXXXXX".
Required for App Android Data Streams
An that is generated through the Google Analytics UI for an "App Android Data Stream". To create this value, navigate in the Google Analytics interface following:
Admin
➜ Data Streams
➜ Choose your stream ➜ Measurement Protocol API secrets
➜ Create
. [1]
Required for App Android Data Streams
The for a "App Android Data Stream". Found in the Google Analytics interface following:
Admin
➜ Data Streams
➜ Choose your stream ➜ FIREBASE APP ID
, or in Firebase console following: Project Settings
➜ General
➜ Your Apps
➜ App ID
. [1]
Required for App iOS Data Streams
An that is generated through the Google Analytics UI for an "App Android Data Stream". To create this value, navigate in the Google Analytics interface following:
Admin
➜ Data Streams
➜ Choose your stream ➜ Measurement Protocol API secrets
➜ Create
. [1]
Required for App iOS Data Streams
The for an "App iOS Data Stream". Found in the Google Analytics interface following:
Admin
➜ Data Streams
➜ Choose your stream ➜ FIREBASE APP ID
, or in Firebase console following: Project Settings
➜ General
➜ Your Apps
➜ App ID
. [1]
Your property field holding the for your "App Data Streams". If this is not provided, the first 32 characters of the following SHA256 hashed standard properties are used: device.sdk_id
or user.tcId
, in this order. [1]
When activating this option all your custom properties are also sent to GA4 in the params
object. Properties with child/sub properties are converted into a single one using the underscore character "_" as separator (E.g. device_lifecycle_last_session_start). More details are available following this .
Map your custom event properties by setting their field names in GA4 property name
and adding the field name holding the value in Your event property
. E.g. if you inputsize
in the GA4 property name
anditems.0.product.size
in Your event property
, you will have a custom event property in GA4 called size
with a value based on the content of the field items.0.product.size
.
In the column Your event property path
you should keep the default value Default (root)
as it better fits most scenarios. In case you select either In "items" {items.X}
or In "product" {items.X.product}
this destination will look for the input event property starting from the or level respectively and add its values as a custom item property.
To ensure that custom event properties are picked up by GA4, you must create event-scoped dimensions first. You can find more details by following this link: .
Map your by setting their field names in GA4 property name
and adding the field name holding the value in Your event property
.
E.g. if you input customer_zipcode
in GA4 property name
and user.zipcode
in Your event property
, you will have a custom user property in GA4 called customer_zipcode
with a value based on the content of the field user.zipcode
.
To ensure that custom user properties are picked up by GA4, you must create user-scoped dimensions first. You can find more details by following this link: .
Flag this option to enable . See our dedicated section following this .
Flag this option to anonymize data before sending it to Google. See our dedicated page following this .
Cookie name holding the Google Analytics that uniquely identifies a user instance of a web client. You can change its default value _ga
. If this cookie is not found, user.consistent_anonymous_id
is used.
GA4 reports only show active users who engage with your site for a non-zero amount of time. To ensure users are included in reports, you can keep the default value to 1. If you track the actual engagement time with your events, you can set the with a proper value.
Following Advanced settings
→ Debug
, you can flag this option to enable GA4 monitoring feature, sending the field debug_mode
set to true
on each event.
Following Advanced settings
→ Debug
, you can flag this option to send your events to the and inspect properties through our . Important: when this is flagged, events ARE NOT tracked by GA4.
Then the particularity with the proxy mode is that you have to alter the GA4 hit URL, replacing google-analytics.com with the Commanders Act server-side collection URL. This is done via the native GA parameter: transport_url
(Example code provided below).
The transport_url
has to be set to your tracking url.
Your tracking domain is either: