An introduction to the GA4 Destination
Destination Type:
Navigate to your GA4 Property and choose
If you do not have a data stream yet, you should click Add stream > Web. If you do have a data stream already, you should click on the datastream.
Copy the Measurement ID from the top right corner. You will need it later.
Click on Measurement Protocol API secrets on the same page.
Edit
permissions for this GA4 Property. Click on Create to generate a new secret, and give it the name Converge. After creating, copy the Secret value.
In the Converge sidebar, click on
Select the Google Analytics 4 destination and click Next.
Give your destination a name (e.g. GA4 Destination) and click Next.
Fill in the Measurement ID and Measurement Protocol API Secret you copied from GA4 and click Next.
Keep the defaults on the Configuration page and click Next.
Select Use default mapping and click Next.
Select the sources you want to forward events from, then click Next.
Review any issues and click Submit.
The following options can be configured in the Destination Configuration.
The Converge GA4 Destination will use the Default content mode to define the Content ID forwarded by default. However, you can configure the destination to use explicity the Product ID, the Variant ID or SKU instead.
List of Content ID Modes
Content ID Mode | Behavior |
---|---|
Default | Use the variant_id if available, otherwise use the product_id |
Product Id | Always use the product_id |
Variant Id | Always use the variant_id |
SKU | Always use the sku |
How Converge forwards events to Google Analytics 4. Options include:
gtag
and sends every Converge event client-side.gtag
and sends every Converge event (except for $page_load
) server-side through the Measurement Protocol.gtag
in a server-side GTM container, and sends server-side conversions through the Measurement Protocol.The GA4 destination supports setting up custom events, see here for a deep-dive.
When the (recommended) sGTM mode is selected, there are two additional configuration options for each custom event:
Converge allows you to map properties that were tracked on a source from Converge into a custom property in Google Analytics 4.
Forward a custom event property to GA4
We do not allow nested event properties to be forwarded as a custom property.
Expand for more information
I.e. if the event properties look like this:
then we do support forwarding property_1
as a custom property, but we do not support forwarding property_2
.
Set up the forwarding rule in Converge
Navigate to the Destinations Tab in Converge, and click on the GA4 Destination.
Navigate to the Configuration > Advanced sub-tab, and click on Edit Configuration.
Click on
Choose the mapping from the Converge property to the desired GA4 property.
Set up a custom definition in GA4
Navigate to your Google Analytics Property and click on
Click on Create custom dimension.
Fill in your desired Dimension name (this is how your dimension/property will show up in GA4), and choose Event as your Scope. Optionally add a description and choose the mapped property that you set up in Step 4 to fill in Event parameter.
Press Save
You might want to add a custom property on the items
array for ecommerce events as per the GA4 documentation here.
For example, you could include a custom in_stock
parameter on all of the item
arrays in your GA4 Ecommerce events.
The steps for setting up these custom properties are functionally similar to the steps described above in the Custom Event Properties-paragraph.
The only distinction is that you should choose an item-scoped custom dimension
in the GA4
You might want to forward a profile property as a custom user property.
The steps for setting up these custom properties are functionally similar to the steps described above in the Custom Event Properties-paragraph.
The only distinction is that you should choose a user-scoped custom dimension
in the GA4
When enabled, Converge creates a new dataLayer
object, even if there is already an existing dataLayer
object. This makes sure that any existing implementation does not accidentally push events on the dataLayer
object that Converge uses to forward events to its destinations.
When you use the sGTM
connection type, Converge will always use a separate data layer.
When enabled, Converge makes sure to inject the Google Consent Parameters on server-side captured events as per the corresponding browser session.
If you need to track users across multiple domains you will need to set up cross-domain tracking in GA4.
GA4 will automatically add cross-domain tracking parameters to every link going from domain A to domain B.
This integration supports the following Converge destination functionality.
Converge Feature | Supported |
---|---|
Custom Events | |
Filters | |
Server-side Conversions |
Why do I see a lot of events with a Skipped status in the Destination Log?
Google Analytics 4 does not natively deduplicate events that are being sent from both the server and the browser.
As such, the Converge destination will automatically not forward the server copy of the event and only send the browser copy of the event.
These server-side copies will show up with a Skipped
status in the Destination Log. However, the event will still arrive in GA4 through the browser-side copy.
Why do I see a discrepancy between purchases in GA4 and Placed Orders in Converge?
If you see that there is a discrepancy, check off the following:
denied
consent parameter to GA4 and GA4 will drop this purchase. You can verify whether this is the case by inspecting the GA4 Destination Logs for the Placed Order
events. If you find a denied
consent parameter under the profile properties then it means that your cookiebanner passed a denied
status for these purchases.
How to configure cross-domain tracking in GA4?
If your customer journey goes through multiple domains (e.g. landing pages or checkout on a different domain), it is important to configure this in GA4 to avoid broken customer journey reports.
You can configure cross-domain tracking through the following steps:
Why do I see redundant "Viewed Product" and "Added Product"-events arriving in my GA4 property?
This is most likely a legacy Universal Analytics property/pixel that is streaming events into your new GA4 property.
Navigate into your old Universal Analytics Property (usually you can do this by clicking on your GA4 property and then choosing the property whose property ID starts with UA-
)
Click on Admin > GA4 Setup Assistant.
Make sure that your Google Analytics 4 property is not connected.
Does Converge support the GA4 user ID feature?
Converge does not integrate with the GA4 user ID. This is a conscious decision because it leads to downstream data accuracy issues.
Capturing the GA4 user ID limits the number of anonymous sessions captured for a customer to one. Therefor it does not make sense to capture this in a marketing attribution context where as much anonymous activity as possible should be captured.
For example, when an entirely new visitor visits your website, the following activity could be captured:
In the above case, only the Google session would be attributed to the user ID, and the Facebook session remains anonymous. When the user ID option is not used, all sessions are captured and attributed to the correct source.
Converge automatically maps the following events from the Converge Event Spec to the Google Analytics 4 spec.
Converge Event Name | GA4 Event Name |
---|---|
$page_load | page_view |
Viewed Product | view_item |
Viewed Collection | view_item_list |
Added To Cart | add_to_cart |
Added To Wishlist | add_to_wishlist |
Removed To Cart | remove_from_cart |
Removed To Wishlist | remove_from_wishlist |
Viewed Cart | view_cart |
Started Checkout | begin_checkout |
Added Payment Info | add_payment_info |
Added Contact Info | add_contact_info |
Added Shipping Info | add_shipping_info |
Placed Order | purchase |
Started Subscription | start_subscription |
Placed Recurring Subscription Order | renew_subscription |
Received Refund | refund |
Logged In | login |
Signed Up | sign_up |
Select Product | select_item |
Choose Option | select_item |
Searched | search |