Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Google is a multinational technology company focusing on online advertising, search engine technology, cloud computing, and computer software.
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.
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.
CNIL recommandation | Analysis | Suggestion/Impact |
---|---|---|
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:
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)
This destination is currently under final review and will be available soon.
BigQuery is Google's data warehouse that enables scalable analysis over data. This integration allows pushing all your event properties to BigQuery.
The Google BigQuery destination provides the following key features:
Events structure: our Events reference feeds BigQuery, meaning that your data is properly bridged to the expected fields in an optimized way.
Universal schema: store events data without adjusting BigQuery's schema.
Ensure BigQuery API is enabled. More details are available following this LINK. Use Destination filters to refine events and/or other properties matching your specific needs.
First, you need to create a BigQuery table, with a specific schema, for storing raw data into it. See the following two subsections for a complete walkthrough.
Access BigQuery console to locate your (1)
project identifier and click (2)
the three dots
on the right. Select (3)
Create dataset
from the menu or, alternatively, you can use an existing dataset and jump to the next subsection.
Input a (4)
dataset identifier (E.g. "myDatasetId"), select a (5)
location type and click (6)
CREATE DATASET
.
Create a table with the following structure:
The esiest way to create it is to click (7)
the plus
button:
copy and paste the following query in (8)
the input area:
Replace [PROJECT_ID]
, [DATASET_ID]
and [TABLE_ID]
with your project, dataset and table identifier respectively. You set your table identifier at this step.
and then click the (9)
RUN
button.
[1] This feature allows you to set an event property holding a dynamic value by adding two open braces ({{
) in front of your property name and two close braces (}}
) at the end (E.g. {{myEventPropertyPathAndName}}
).
[1] Use Destination filters to specify your matching events.
[2] Two columns: rawDataCa
contains all your event properties, while createdAt
is the creation timestamp.
Ensure that you already have a Google Marketing Platform account (360).
Contact your Google Account Manager to whitelist our DMP + get your Client ID (Client Customer ID: Your DoubleClick Client Customer ID)
We are listed as "TagCommander" and not as "Commanders Act".
You have to ask for the whitelisting of the advertiser ID, as we don't currently use the Partner ID on our connector.
This connector is only for Google DV360 accounts (including Google Ads for DV360) but not for Google Ads accounts (without a DV360 account).
If you have a Google Ads account, you can use the Customer Match connector or RLSA (Remarketing Lists for Search Ads).
“You just have to tell your Google account manager to raise a DMP whitelisting request and once we receive that request it would be a new ticket altogether. So, one of our agents would be able to look into that and process your request.”
References:
Youtube : the partners' program has been closed
Wait for Google to whitelist our DMP.
Display & Video 360 was previously DoubleClick Bid Manager.
If you had a DoubleClick Bid Manager account or if you have a Display & Video 360 account, please use our connector 'Google Display & Video 360 Bid Manager'
Search Ads 360 was previously DoubleClick Search.
If you had a DoubleClick Search account or if you have a Search Ads 360 account, please use our connector 'Google Search Ads 360'
Display & Video 360 can be also used with an Adexchange account
If you had an Adexchange account, please use our connector 'Google Display & Video 360 Adex'
[Google DDP API][2473] Could not fetch lists: [AuthorizationError.USER_PERMISSION_DENIED @ clientCustomerId]
→ Trouble with the whitelisting: be sure you are using the right name (TagCommander) and the right ID (advertiser ID).
[Google DDP API][3206] Could not fetch lists: [DmpUserListServiceError.INVALID_CLIENT_CUSTOMER_ID @ clientCustomerId]
→ You don't have a Google DV360 account. Please use the Customer Match connector or RLSA (Remarketing Lists for Search Ads)
Pick your segment and create your stream
+ Put Google Client ID, if you do not have it, then it fails
Segments will be directly created by Commanders Act, and will appear in the Audience list in Google Ads.
Interface of DV360 where you are supposed to find the segments:
The sharing is based on a cookie synchronization between Commanders Act and Google. If you see less data than expected in the data stream, check your cookie-sync ratio.
You can create an audience segment, push it to Google Ads and activate it. Users matched could be then activated on Google services (Search, Display network, Gmail, Youtube, Google Shopping...).
Audience size: minimum 1000 matched users (otherwise it will be rejected for privacy purpose)
Data collection: it is only allowed to import first party data (collected via your website/app/point of sale)
Google indicates that it takes 6 to 12 hours for a list to be populated with members
A list may appear to be smaller than expected when viewed in the Audience Manager in the Google Ads UI. This view shows the number of active users in the list. A user is considered active if they have recently logged into their Google account.
On the new platform, select Google Customer Match on the destinations catalog.
Select All users or one or many segments.
Connect directly to your Google Ads account. Select your existing account if you have already configured it, or configure a new one.
Click on the link and a new tab will be opened (Connector Credentials).
Only admin users have access to the Connector Credentials menu (also available in the Administration menu)
On the Connector Credentials page, click on 'Add connector credentials' and select Google Ads.
Login to your Google Ads account and the authentication is done.
Then go back to the connector configuration page and select the account previously configured.
Segments selected will appear in the segment mappings section. You can map here selected segments to a customer list previously created in Google Ads interface (this is where the audience from segments will be sent).
If you haven't created a customer list yet, you can do it on Google Ads interface:
On your Google Ads account, click on ‘Tools and settings’ and ‘Audience manager’.
Then in ‘Audience lists’, click on the + and select ‘Customer list’ (or user list).
In this section, you can define matching keys:
At least:
Email address: in SHA-256 or plain (we hash it in SHA-256 before to send it)
and/or Phone number: in SHA-256 or plain (we hash it in SHA-256 before to send it)
Complementary information (optional):
First name: in SHA-256 or plain (we hash it in SHA-256 before to send it)
Last name: in SHA-256 or plain (we hash it in SHA-256 before to send it)
Country code (2 letters): in SHA-256 or plain (we hash it in SHA-256 before to send it)
Postal code: in SHA-256 or plain (we hash it in SHA-256 before to send it)
Postal address: in SHA-256 or plain (we hash it in SHA-256 before to send it)
Last step, simply define a running period and click on Save. The destination will start to send users as soon as they enter in selected segments.
----------------------------------------------------------------------------------------------------
Method available only on the old platform, if you haven't migrated yet. Please note this version only support email (SHA-256 or plain) as matching key.
First, you need to enter your Google Ads customer ID:
Then, there are 2 ways to configure it:
It is the fastest and easiest way to configure the connector. Simply ask our consultants or customer representative that you want to use this option and provide them your Google Ads Customer ID. Then they will link your account with our Google Ads account in order to be able to push audiences.
We recommend using the first option, as the second option is much more complex and requires access to Google Developer Console. You have to enter the Developer Token, Client ID, Client Secret and generate a refresh token.
All details here:
Last step, create a user list on Google side.
On your Google Ads account, click on ‘Tools and settings’ and ‘Audience manager’.
Then in ‘Audience lists’, click on the + and select ‘Customer list’ (or user list).
Create the list, save it, open it and find the List ID
Paste the List ID in the segment mappings on the Data Commander Google Customer Match connector interface (it allows you to map a segment in DataCommander to a user list on Google Ads)
Your connector is ready, click save
After 12 to 24 hours, go back to Google Ads, click on your customer list you created just before, and it will be filled with users selected.
The Google Analytics 4 destination provides the following key features:
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).
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
.
When Google Signals is enabled, same device remarketing is supported. For cross-device remarketing, the user identifier is additionally required.
You can send custom events to better fit your specific needs.
Google properties are set starting from the path user_data
. The property user_id
is set in the base path.
[*] 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.
This destination is currently under final review and will be available soon.
_gcl_aw
_gcl_dc
_gac_[GA_PROPERTY_ID]
The transaction identifier (id
) is required in any of the following conditions:
The original conversion you are adjusting was assigned a transaction identifier.
If Transaction Adjusted Timestamp (adjustmentDateTime)
"Smart Mapping" field is not set, this destination will use the current timestamp to set the Google property conversionAdjustments.0.adjustmentDateTime
.
Google properties are set starting from the path conversionAdjustments.0
.
_gcl_aw
_gcl_dc
_gac_[GA_PROPERTY_ID]
[1] Enhanced conversions must be enabled for your conversion action. This is done in the Google Ads interface following these steps: click on the conversion action ➜ expand Enhanced conversions
➜ flag Turn on enhanced conversions
➜ select API
.
At least one of the following user identifiers must be set to prevent the error incomplete_any_user_identifier_is_required
:
user.email
or user.email_sha256
user.phone
user.firstname
user.lastname
user.streetAddress
user.city
user.state
user.country
user.zipcode
Most properties can be remapped using our "Smart Mapping" feature.
Google properties are set starting from the path conversionAdjustments.0
or conversionAdjustments.0.userIdentifiers.X
with the latter for user properties.
Field name | Type | Mode |
---|---|---|
Settings | Description |
---|---|
Commanders Act Events | BigQuery Table Columns |
---|---|
is a multinational technology company focusing on online advertising, search engine technology, cloud computing, and computer software. Google Display & Video 360 and Google Search Ads 360 are paid products part of .
Example of answer from :
Google Ads : (look for "Fjord Technologies SAS")
Ad Manager : (look for "Fjord Technologies SAS")
Ad Manager & Ad Exchange: ("look for Commanders Act")
is a multinational technology company focusing on online advertising, search engine technology, cloud computing, and computer software. Google Customer Match allows you to push users to Google Ads. Matching keys are email, phone or address (SHA-256 or in clear only).
Available for accounts with good history of policy compliance, good payment history, at least 90 days history, more than USD 50,000 total lifetime spend ()
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 and in form of .
Google designed the Measurement Protocol with some , especially it does not allow to manage session.
For , 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
:
Events structure: our model fits , meaning that your data is properly bridged to the expected fields in an optimized way.
Support for multi-item data: information included in the array is dispatched to GA4.
The user identifier should be passed in both the client-side gtag and server-side. For more information, you can follow these links: and .
Settings | Description |
---|
[1] Field available after flagging the Enable App Tracking
checkbox.
[2] Using "dots" (".") you can navigate deeper to the specific field you want to get the value of. See for more details on the standard field names by event. You can also freely set custom fields: there are no boundaries.
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 .
This destination provides automatic mapping between our 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 . 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: .
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Currency | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | GA4 field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
More details on how you can create and manage custom events are available following this link: . The following properties are automatically attached to the event.
Property | Description | Field | Mapped with |
---|
Property | Description | Field | Mapped with |
---|
Commanders Act Events | GA4 Events |
---|
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 .
When is enabled, ensure the User Id
field is set to None
as its value must be present.
Commanders Act Properties | Google Properties |
---|
Depending on your licence (standard or 360), sending events to GA4 has some different limitations:
is a multinational technology company focusing on online advertising, search engine technology, cloud computing, and computer software. Taking advantage of the , you can amend conversions values initially reported by other means (E.g. via client-side tags).
To adjust a conversion, you must first have a conversion action , and conversions must have been reported in Google Ads interface.
Google recommends waiting 24 hours after a conversion is reported before sending adjustments. This will avoidor upload errors. Also, wait 4-6 hours after creating a before adjusting its conversions to avoid a upload error.
To identify the conversion and when a transaction identifier is not provided, this destination will try to include the if its value is provided in the Google Click Id
field (See for more details). If this is not set, the following cookies, in the presented priority order, are used to retrieve a proper value:
On the other hand, when a transaction identifier is present both the and conversionDateTime
are removed from the hit to prevent the upload error. More details on all upload errors are available following this .
Conversion adjustments don't work with whose type is . In addition, adjustments for a conversion whose click has a gbraid
or wbraid
instead of a will fail with a upload error.
Settings | Description |
---|
The type of the is equal to Website
/ .
Commanders Act Properties | Google Properties |
---|
[*] Mandatory property. [1] This is required when specific conditions are verified. See for details. [2] See for more details.
is a multinational technology company focusing on online advertising, search engine technology, cloud computing, and computer software. Taking advantage of the , you can leverage the feature to send first-party data in the form of conversion adjustments. Google uses this additional data to improve the reporting of your online conversions driven by ad interactions. The enhanced conversions supplement your existing conversion tags by sending hashed first-party conversion data from your website to Google in a privacy-safe way.
You must complete the before you can bridge enhanced conversions via the Google Ads API.
Your user account needs admin rights in the where the conversion action is located. When available, this destination will also include the value by looking for the following cookies in this priority order:
Settings | Description |
---|
Commanders Act Events | Google Tracking |
---|
[1] See for more details.
Commanders Act Properties | Google Properties |
---|
[*] Mandatory property.
[1] This value is automatically adjusted. See for more details.
[2] If user.email
is provided, it's hashed using SHA256, otherwise , user.email_sha256
is used.
[3] Normalized and hashed via SHA256.
[4] See for more details.
rawDataCa
String
Required
createdAt
Timestamp
Required
Project Id
Required
Your project identifier as reported in BigQuery console. More details are available following this LINK. This setting supports dynamic values [1].
Dataset Id
Required
Your dataset identifier as reported in BigQuery console. More details are available following this LINK. This setting supports dynamic values [1].
Table Id
Required
Your table identifier as reported in BigQuery console. More details are available following this LINK. This setting supports dynamic values [1].
[Any events]
[1]
rawDataCa
, createdAt
[2]
Currency |
| currency | currency |
Value |
| value | value |
Coupon | Type: | coupon | coupon |
Payment Method | Type: | payment_type | payment_method |
Revenue | Type: | revenue | revenue |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency |
| currency | currency |
Value |
| value | value |
Coupon | Type: | coupon | coupon |
Shipping Tier | Type: | shipping_tier | shipping_tier |
Items |
| items | items |
Item Id |
Type: | item_id | items.X.id |
Item Name |
Type: | item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency |
| currency | currency |
Value |
| value | value |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency |
| currency | currency |
Value |
| value | value |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency |
| currency | currency |
Value |
| value | value |
Coupon | Type: | coupon | coupon |
Revenue | Type: | revenue | revenue |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency |
| currency | currency |
Value |
| value | value |
Transaction Id | Type: | id | id |
Method | Type: | method | method |
Page Location | Type: The current page URL. | page_location | url |
Page Referrer | Type: | page_referrer | referrer |
Page Title | Type: | page_title | title |
Page Name | Type: | page_name | page_name |
Page Type | Type: | page_type | page_type |
Page Path | Type: | page_path | path |
Currency |
| currency | currency |
Value |
| value | value |
Transaction Id |
| id | id |
Affiliation | Type: | affiliation | affiliation |
Coupon | Type: | coupon | coupon |
Shipping | Type: | shipping | shipping_amount |
Tax | Type: | tax | tax_amount |
Revenue | Type: | revenue | revenue |
Conversion Type | Type: | conversion_type | type |
Conversion Status | Type: | conversion_status | status |
Conversion Url | Type: | conversion_url | url |
Payment Method | Type: | payment_type | payment_method |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency |
| currency | currency |
Value |
| value | value |
Transaction Id |
| id | id |
Affiliation | Type: | affiliation | affiliation |
Coupon | Type: | coupon | coupon |
Shipping | Type: | shipping | shipping_amount |
Tax | Type: | tax | tax_amount |
Revenue | Type: | revenue | revenue |
Conversion Type | Type: | conversion_type | type |
Conversion Status | Type: | conversion_status | status |
Conversion Url | Type: | conversion_url | url |
Payment Method | Type: | payment_type | payment_method |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency |
| currency | currency |
Value |
| value | value |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Search Term |
| search_term | search_term |
Content Type |
Type: | content_type | content_type |
Item Id | Type: | item_id | item_id |
Item List Name | Type: | item_list_name | item_list_name |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Method | Type: | method | method |
Currency |
| currency | currency |
Value |
| value | value |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency |
| currency | currency |
Value |
| value | value |
Items |
| items | items |
Item Id |
Type: | item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Item List Name | Type: | item_list_name | item_list_name |
Items |
| items | items |
Item Id |
| item_id | items.X.id |
Item Name |
| item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
Currency | Type: | currency | currency |
Value | Type: | value | value |
Transaction Id | Type: | id | id |
Content Type | Type: | content_type | content_type |
Conversion Type | Type: | conversion_type | type |
Conversion Status | Type: | conversion_status | status |
Conversion Url | Type: | conversion_url | url |
Coupon | Type: | coupon | coupon |
Item Id | Type: | item_id | item_id |
Item List Name | Type: | item_list_name | item_list_name |
Method | Type: | method | method |
Page Location | Type: | page_location | url |
Page Referrer | Type: | page_referrer | referrer |
Page Title | Type: | page_title | title |
Page Name | Type: | page_name | page_name |
Page Type | Type: | page_type | page_type |
Page Path | Type: | page_path | path |
Payment Method | Type: | payment_type | payment_method |
Revenue | Type: | revenue | revenue |
Search Term | Type: | search_term | search_term |
Shipping Tier | Type: | shipping_tier | shipping_tier |
Shipping | Type: | shipping | shipping_amount |
Tax | Type: | tax | tax_amount |
Items | Type: | items | items |
Item Id | Type: | item_id | items.X.id |
Item Name | Type: | item_name | items.X.product.name |
Affiliation | Type: | affiliation | items.X.product.affiliation |
Coupon | Type: | coupon | items.X.coupon |
Currency | Type: | currency | items.X.product.currency |
Discount | Type: | discount | items.X.discount |
Index | Type: | index | items.X.list_position |
Item Brand | Type: | item_brand | items.X.product.brand |
Item Category | Type: | item_category | items.X.product.category_1 |
Item Category 2 | Type: | item_category2 | items.X.product.category_2 |
Item Category 3 | Type: | item_category3 | items.X.product.category_3 |
Item Category 4 | Type: | item_category4 | items.X.product.category_4 |
Item Category 5 | Type: | item_category5 | items.X.product.category_5 |
Item List Id | Type: | item_list_id | items.X.product.list_id |
Item List Name | Type: | item_list_name | items.X.product.list_name |
Item Variant | Type: | item_variant | items.X.variant |
Location Id | Type: | location_id | items.X.product.location_id |
Price | Type: | price | items.X.product.price |
Quantity | Type: | quantity | items.X.quantity |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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". |
|
|
|
|
Your credentials with Google Ads as set in the Commanders Act interface following: |
|
|
| Google click Id (gclid) associated with the original conversion. This field has priority over related cookies. |
|
|
|
|
|
|
Google is a multinational technology company focusing on online advertising, search engine technology, cloud computing, and computer software. The connector Google Store Sales Direct allows you to send conversions to Google Ads.
Store sales measurement allows you to use your sales data in a privacy-safe way to understand how much value your ads are truly driving for in-store purchases. By uploading and matching transaction data from your business, you can see how your ads translate into offline purchases.
More information
From your Data Commander account, you can send your conversions through our connector. https://support.google.com/google-ads/answer/10018944?hl=en&ref_topic=9941533#zippy=%2Cbenefits-of-uploading-store-sales-data-in-google-ads
We send conversions to your FTP, and then you have to push these conversions from the FTP to Google Ads: https://support.google.com/google-ads/answer/10018944?hl=en&ref_topic=9941533#zippy=%2Cbenefits-of-uploading-store-sales-data-in-google-ads%2Cschedule-an-upload
DataCommander ⇒ Customer FTP (Connector Google Store Sales Direct)
Customer FTP ⇒ Google Ads (you should configure the file exchange between your FTP and your Google Ads account like described on the documentation above)
On the connector setup interface, select all users or select a segment you want to use.
For example, you can send only conversions that belong to specific users that you selected in your segment (users living in Germany only, for example).
You should select all the variables requested by Google: Conversion Time, Conversion Value, Conversion Currency, and at least one Email variable.
Full list and format here.
All personal data (email, first name, phone number...) are hashed in SHA-256.
There are also 3 variables specific to that connector:
Loyalty Rate:
The percent of overall sales in your data file that you can associate with a customer
The Loyalty Rate needs to be between “0” and “1” (excluding “0”)
For example:
0.5
0.2
0.8
Transaction Upload Rate:
The ratio of sales you’re uploading to the overall sales that you can associate with a customer
While the Transaction Upload Rate can be between “0” and “1,” we recommend uploading all customer associated sales and setting the Transaction Upload Rate to “1”.
For example:
0.5
0.2
0.8
Conversion name:
The name of the conversion action that you’d like to import
Must match the same spelling and capitalization of the conversion action in your Google Ads account
For example:
SS_customer_signups
SS_customer_purchases
More details
This destination is currently under final review and will be available soon.
Google is a multinational technology company focusing on online advertising, search engine technology, cloud computing, and computer software. Taking advantage of the Campaign Manager 360 offline conversion API, you can leverage the "Enhanced Conversions" feature to send first-party data, while also giving the option to modify quantity and value, in the form of conversion batch updates.
The "Enhanced Conversions" (EC) in Campaign Manager 360 (CM360) API is a hybrid solution with API, which is covered by this destination, and client-side tag: See our template tag gtag - Google SA360 - Floodlight for server-side Enhanced Conversions for more details. Google still requires Floodlight tags to get conversion info from advertisers' websites.
Google recommends triggering conversion batch updates between 90 minutes and 24 hours, with the latter being the upper time limit, after the client-side Floodlight tag is fired to maximize EC matching. After 30 minutes has passed since the client-side Floodlight is fired, you can already trigger conversion batch updates, but it's suggested to follow Google recommendation as reported above. More details are available following this LINK.
Before configuring this destination, you need to fullfil the following requirements:
Ensure that both match_id and transaction_id fields are properly set. If you're setting up your client-side tag for the first time, you may want to use our template tag gtag - Google SA360 - Floodlight for server-side Enhanced Conversions.
[1] To find both values you can log into the CM360 account, and select the advertiser, then locate the Floodlight
tab in the left panel. Open Floodlight
➜ Activities
and find/create the activity you are using to receive the EC data. Values being shown, highlighted in green below, are (1)
Floodlight Configuration Id
(2)
Floodlight Activity Id
:
[1] Use Destination filters to specify your matching events.
Most properties can be remapped using our "Smart Mapping" feature.
Google properties are set starting from the path conversions.0
or conversions.0.userIdentifiers.0
with the latter for user properties.
[*] Mandatory property.
[1] See Configuration for more details on these mandatory properties.
[2] See Configuration (Total Quantity
) for more details.
[3] Automatically normalized and hashed if passed in clear.
Google is a multinational technology company focusing on online advertising, search engine technology, cloud computing, and computer software. Google Universal Analytics (UA) is a web analytics service that tracks and reports website traffic. Using this destination, you can take advantage of the Measurement Protocol by sending data via server-side. This version is related to the previous generation of Google Analytics. See Google Analytics 4 destination for the newest and recommended version.
Google Universal Analytics will be deprecated on July 1, 2023, meaning it will stop processing data. Analytics 360 properties will stop working on October 1, 2023.
The Google Universal Analytics destination provides the following key features:
Events structure: our Events reference model covers Google's hit types, 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.
Smart mapping: data mapping can be readjusted using your datalayer defined fields.
Refined data: you can freely push additional information based on your specific needs (E.g. adding custom events and custom properties).
Support for multi-item data: information included in the item array is dispatched to UA.
[1] Using "dots" (".") you can navigate deeper to the specific field you want to get the value of. See Events reference for more details on the standard field names by event. You can also freely set custom fields: there are no boundaries.
As recommended by Google, Enhanced Ecommerce hits are used in place of Ecommerce hits. See more details on UA "Hit Types" following this LINK.
[1] This is either pageview
or screenview
, depending if the "Smart Mapping" field App Name (an)
is set with an empty value or a non-empty one.
[2] You can specify a custom social event by setting the "Smart Mapping" field Social Event
.
Most properties can be remapped using our "Smart Mapping" feature.
[1] partners.ga.client_id
has priority over Client Id Cookie Name
and user.tcId
.
[2] Always anonymized just as though aip
(anonymize IP) is used.
[3] Retrieved by parsing the provided "Smart Mapping" field Document Location (dl)
.
[4] If items
is not set, then this property won't be present.
If partners.ga.product_action
is not set, depending on the incoming event, the following values are used as default: detail
(page_view event or if your event is not one of the following being listed), purchase
(purchase event), click
(search, add_to_wishlist, login, select_content, select_item, sign_up, view_cart, view_item and view_item_list events), refund
(refund event), checkout
(begin_checkout, add_shipping_info and add_payment_info events), add
(add_to_cart event), remove
(remove_from_cart event).
[5] If partners.ga.event_category
is not set, since this property is required for "event" hit types, this gets the default value: UX
.
[6] If partners.ga.event_action
is not set, then your event name is used.
[7] If partners.ga.event_label
is not set, depending on the incoming event, the following fields are used as default: search_term
(search event), item_id
(select_content event) and method
(sign_up and login events).
[8] If partners.ga.event_npa
is set with one of the following values: 1
(string or integer) or true
(boolean), then npa
is set with 1
.
[9] If partners.ga.non_iteration
is set with one of the following values: 1
(string or integer) or true
(boolean), then npa
is set with 1
.
[10] See Custom Event Properties
in Configuration for more details on how you can bridge custom properties to UA.
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
[2] 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
[2] 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.
The GA Tracking Id is a string like "UA-XXXXXX-Y" or "G-XXXXXXXXXX" for Google Analytics 4. It's used as an alternative method to retrieve the from cookies. See for more details.
The GA Tracking Id is a string like "UA-XXXXXX-Y" or "G-XXXXXXXXXX" for Google Analytics 4. It's used as an alternative method to retrieve the from cookies. See for more details.
Log in to the CM360 account and choose the advertiser you want to implement EC with. On the left, open the menu Floodlight
➜ Configuration
, and flag the checkbox under the Enhanced conversions
section:
CM360 users of agency admin and DC account manager roles should be able to accept the ToS. Note that accepting the ToS can also be done in the previous version of Search Ads 360 (SA360), but only if the CM360 advertiser controlling the floodlight configuration is linked to a SA360 advertiser. In that case, the ToS can be accepted in the linked advertiser under Advertiser Settings
➜ Advertiser Details
➜ Enhanced conversions
:
Settings | Description |
---|---|
Commanders Act Events | Google Tracking API |
---|---|
Commanders Act Properties | Google Properties |
---|---|
Settings | Description |
---|---|
Commanders Act Events | UA Hit Types |
---|---|
Commanders Act Properties | Google Properties |
---|---|
Floodlight Configuration Id
Required
Floodlight configuration identifier of the related conversion. More details are available following this LINK. [1]
Floodlight Activity Id
Required
Floodlight activity identifier of the related conversion. More details are available following this LINK. [1]
Match Id
Required
A unique advertiser created identifier also to be passed in the client-side Floodlight. More details are available following this LINK (See field name "match_id").
Total Quantity
Flag this option to consider the total quantity instead of the number of unique products.
[Any Event]
[1]
conversions.batchupdate
Floodlight Configuration Id
floodlightConfigurationId
[*][1]
Floodlight Activity Id
floodlightActivityId
[*][1]
Match Id
matchId
[*][1]
context.event_timestamp
* 1000
timestampMicros
[*]
id
ordinal
[*]
value
value
[*]
items.length
items.X.quantity
quantity
[*][2]
user.email_sha256
hashedEmail
[3]
user.phone
hashedPhoneNumber
[3]
user.firstname
addressInfo.hashedFirstName
[3]
user.lastname
addressInfo.hashedLastName
[3]
user.street
addressInfo.hashedStreetAddress
[3]
user.city
addressInfo.city
user.state
addressInfo.state
user.country
addressInfo.countryCode
user.zipcode
addressInfo.postalCode
partners.google.non_personalized_ad
nonPersonalizedAd
partners.google.child_directed_treatment
childDirectedTreatment
partners.google.limit_ad_tracking
limitAdTracking
Tracking ID
Required
The tracking identifier is a string like "UA-XXXXXX-Y". It must be included in your tracking code to tell Analytics which account and property to send data to.
Custom Event Properties
Map your custom event properties by setting their field names in Event property name
and adding the field name holding the value in Commanders Act event property or static value
. E.g. if you inputsize
in the Event property name
anditems.0.product.size
[1] in Commanders Act event property or static value
, you will have a custom event property in GA4 calledsize
with a value based on the content of the fielditems.0.product.size
. You also have the option to set a static string/numeric value in Commanders Act event property or static value
.
In the column Commanders Act event property position
you should keep the value Default
as it better fits most scenarios. E.g. this can be used to set Custom Dimensions and Metrics and/or Content Groups. In case you select either In "Item List" (E.g. {items.X})
or In "Item List" Product (E.g. {items.X.product})
this destination will look for the input event property starting from the items or product level respectively and add Product Custom Dimensions and/or Product Custom Metrics depending on your input Event property name
.
If you select In "Item Impression List" (E.g. {items_impression.X})
, you will add Product Impression Custom Dimensions and/or Product Impression Custom Metrics still depending on your input Event property name
.
Client Id Cookie Name
Cookie name holding the Google Analytics "Client Id" that uniquely identifies a user instance of a web client. Default value: "_ga".
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".
add_payment_info
add_shipping_info
begin_checkout
page_view
purchase
pageview
[1]
screenview
[1]
add_to_cart
add_to_wishlist
generate_lead
login
refund
remove_from_cart
search
select_content
select_item
sign_up
view_cart
view_item
view_item_list
[Custom Event]
event
[Custom Event]
social
[2]
Tracking ID
tid
partners.ga.client_id
Client Id Cookie Name
user.tcId
cid
[1]
user.id
uid
context.device.ip
uip
[2]
partners.ga.ad_id
gclid
context.page.url
dl
context.page.title
dt
context.page.referrer
dr
context.page.url
dh
[3]
context.page.url
dp
[3]
id
ti
value
tr
shipping_amount
ts
tax_amount
tt
coupon
tcc
partners.ga.affiliation
ta
currency
cu
partners.ga.product_action
[Default Value]
pa
[4]
partners.ga.event_category
ec
[5]
partners.ga.event_action
event_name
ea
[6]
partners.ga.event_label
search_term
item_id
method
el
[7]
items.X.id
pr(X+1)id
items.X.product.name
pr(X+1)nm
items.X.product.category_1
/
items.X.product.category_2
/
items.X.product.category_3
/
items.X.product.category_4
/
items.X.product.category_5
pr(X+1)ca
items.X.product.brand
pr(X+1)br
items.X.variant
pr(X+1)va
items.X.list_position
pr(X+1)ps
items.X.product.price
pr(X+1)pr
items.X.quantity
pr(X+1)qt
items.X.coupon
pr(X+1)cc
items_impression.X.0.list_name
il(X+1)nm
items_impression.X.Y.id
il(X+1)pi(Y+1)id
items_impression.X.Y.name
il(X+1)pi(Y+1)nm
items_impression.X.Y.brand
il(X+1)pi(Y+1)br
items_impression.X.Y.category_1
il(X+1)pi(Y+1)ca
items_impression.X.Y.variant
il(X+1)pi(Y+1)va
items_impression.X.Y.list_position
il(X+1)pi(Y+1)ps
items_impression.X.Y.price
il(X+1)pi(Y+1)pr
items_promotion.X.id
promo(X+1)id
items_promotion.X.name
promo(X+1)nm
items_promotion.X.creative
promo(X+1)cr
items_promotion.X.position
promo(X+1)ps
items_promotion.X.action
promoa
partners.ga.campaign_name
cn
partners.ga.campaign_source
cs
partners.ga.campaign_medium
cm
partners.ga.campaign_keyword
ck
partners.ga.campaign_content
cc
partners.ga.campaign_id
ci
partners.ga.queue_time
qt
context.app.name
an
context.app.namespace
aid
context.app.namespace
aiid
context.app.version
av
context.page.title
cd
(partners.ga.event_npa)
npa
[8]
(partners.ga.non_iteration)
ni
[9]
partners.ga.checkout_step
cos
partners.ga.checkout_step_option
col
partners.ga.social_name
sn
partners.ga.social_action
sa
partners.ga.social_action_target
st
Custom Event Properties
[Custom Property Name]
[10]