Google Analytics 4, Google Ads and Tag Manager
Your store can send its data to three Google tools: Google Analytics 4 (GA4), Google Ads and Google Tag Manager (GTM). You only enter their IDs: Ciklik adds the scripts to every page of your site.
Enter the IDs
Section titled “Enter the IDs”-
Go to Settings > Sites, then click the Edit icon (pencil) of your site.
-
Open the Marketing Parameters tab.
-
Fill in the fields you need:
- Google Analytics ID: the measurement ID of your GA4 web data stream, in the format
G-XXXXXXXXXX. TheUA-123455example shown in the field dates from Universal Analytics, which Google has shut down: do not enter aUA-ID anymore. - Adwords Tag ID: the ID of your Google Ads tag, in the format
AW-XXXXXXXXX. - Google Tag Manager: the ID of your web container, in the format
GTM-XXXXXXX.
- Google Analytics ID: the measurement ID of your GA4 web data stream, in the format
-
Click Update.
What Ciklik installs
Section titled “What Ciklik installs”With Google Analytics ID
Section titled “With Google Analytics ID”Ciklik loads the Google tag (gtag.js) with your GA4 ID, then your Google Ads ID if it is filled in.
- Consent mode is declared “denied” by default, then switches to “granted” between half a second and one second after the page loads.
- The automatic page view is turned off (
send_page_view: false). GA4 only receives the page views listed below, sent by the site at specific steps. To measure all your page views, add a GA4 Google tag in Google Tag Manager (see below). - The script is loaded on every page, without waiting for the visitor’s choice in the cookie banner.
With Google Tag Manager
Section titled “With Google Tag Manager”Google Tag Manager lets you add your own tags (pop-ups, banners, analytics tools) without touching the site’s code. For Affilae affiliation there is no need: Ciklik installs its scripts itself.
Ciklik adds your container at the top of the <head> of every page, and its <noscript> version at the top of the <body>. Before the container, the data layer (dataLayer) receives:
default_consent:ad_storage,analytics_storage,ad_user_dataandad_personalizationconsent set todenied;update_consent: the same set togranted, between half a second and one second later;user, only when the customer is logged in:user_id,user_agent,email_hash(SHA-256 hash of the email),user_ip, andphone(phone number of their latest address, in clear text) when it exists.
Once the tracking scripts are loaded, a gdpr_accept_<service> event is pushed for each active service, for example gdpr_accept_analytics.
Events sent to Google Analytics 4
Section titled “Events sent to Google Analytics 4”These events go straight to GA4 when the Google Analytics ID field is filled in.
| GA4 event | When | Parameters |
|---|---|---|
page_view | Steps of the profile questionnaire and of plan customization | page_path: page address followed by # and the step number |
page_view | Account created in the checkout | page_path: utilisateur-enregistre.html |
page_view | Address step displayed | page_path: page-livraison.html |
page_view | Address selected | page_path: add_shipping_info |
page_view | Carrier selected | page_path: page-transport.html |
page_view | Payment form displayed | page_path: paiement-form.html |
page_view | Order confirmation page | url: order-confirmation.html |
sign_up | Account created in the checkout | email and eventId: SHA-256 hash of the email |
add_to_cart | Plan, add-on or product added to the cart, or quantity increased | items: id, name, quantity, price |
begin_checkout | Cart page displayed | ecommerce: currency, value, coupon, items |
add_shipping_info | Carrier selected | currency, value (shipping cost), coupon, shipping_tier (carrier name), items: item_id, item_name, coupon, discount, price, quantity |
purchase | Order confirmation page | transaction_id (order number), affiliation (site name), value, shipping, tax, currency (EUR), items: item_id, item_name, item_category, quantity, price |
action | Shop product page displayed | value: view_item, item: the product |
action | Steps of the cancellation flow | event_category: unsub, value: the step (see layer_action below) |
action | Reactivation offer accepted | event_category: restart-offer, value: restart-offer-validated |
For an order whose plan has a set total price, value and the item price use that total price.
Data layer events (Google Tag Manager)
Section titled “Data layer events (Google Tag Manager)”These events are pushed to the dataLayer when the Google Tag Manager field is filled in. In Google Tag Manager, fire your tags with a Custom Event trigger that has exactly the event name.
dataLayer event | When | Content |
|---|---|---|
GA_page_view | Same steps as the page_view events above (except confirmation) | url: same value as page_path |
product_page | Shop product page displayed | ecommerce.detail.products: name, id, price, brand (product), category |
addToCart | Plan, add-on or product added to the cart, or quantity increased | ecommerce: currency, value, tax, total_discount (cart), add.products and items (the item: name, id, price, brand, category), user_data |
removeFromCart | Item removed or quantity decreased | ecommerce.remove.products: the item (at least its id) |
view_cart | Defined in the code, no page sends it today | |
begin_checkout | Cart page displayed | ecommerce: currency, value, coupon, items, tax, total_discount, user_data |
sign_up | Account created in the checkout | email, eventId: SHA-256 hash of the email |
lead.user.registration | Account created in the checkout | lead.user.registration.email: SHA-256 hash of the email |
checkout | Checkout steps | ecommerce.checkout.actionField: step and option (1 / new_account, 4 / delivery, 4 / transport, 5 / payment) |
add_shipping_info | Address selected | ecommerce: currency, value, tax, total_discount, items, user_data with the address added (first and last name as SHA-256, street, city, region, postal code, country in clear text) |
add_shipping_method | Carrier selected | ecommerce: currency, value, tax, total_discount, items, user_data, shipping_tierce (carrier name) |
order.confirmation | Order confirmation page | ecommerce.purchase.actionField: id, affiliation, revenue, tax, shipping, coupon; ecommerce.purchase.products: id, item_id, item_name, item_brand, item_category, name, category, quantity, price |
order.info | Order confirmation page | orderDetails: orderId, total |
purchase | Order confirmation page | ecommerce: transaction_id, currency, value, tax, total_discount, coupon, shipping_tierce, items (name, id, price incl. tax, brand, category, quantity), user_data |
layer_action | Plan customization, cancellation flow, reactivation offer accepted | value: composition-personnalisation, page-desabo-raisons-validees-choix-pause-ou-annulation, page-desabo-choix-pause, page-desabo-pause-x-mois-validee, page-desabo-refus-pause, page-desabo-refuse-reduction, page-desabo-accepte-reduction, page-desabo-annulation-confirmee or restart-offer-validated |
Useful values:
brandisplanfor a plan,addonfor an add-on andproductfor a product.user_dataonly exists when the customer is logged in:ordersCount(completed orders),sha256_email_address,sha256_phone_numberand their address.couponis the code of the applied discount.- Events are pushed one second after the visitor’s action.
Set up GA4 in Google Tag Manager
Section titled “Set up GA4 in Google Tag Manager”If you prefer to manage GA4 in Google Tag Manager rather than with the Google Analytics ID field:
-
In your container, create a Google Tag with your
G-XXXXXXXXXXID, fired on Initialization - All Pages. It sends a page view on every page. -
For each event you want to measure, create a Google Analytics: GA4 Event tag with the GA4 event name you want (for example
purchase), and a Custom Event trigger with thedataLayerevent name (for examplepurchase). -
For e-commerce events, enable sending e-commerce data from the data layer. For a specific value, create a Data Layer Variable with the path shown in the table, for example
ecommerce.transaction_idorecommerce.value. -
Check with Google Tag Manager’s Preview mode and GA4’s DebugView, then publish the container.
Measure your sales in Google Ads
Section titled “Measure your sales in Google Ads”Ciklik does not send a Google Ads conversion event (conversion with send_to). Two ways to count your sales:
- import the
purchasekey event of your GA4 property into Google Ads; - or create a Google Ads Conversion Tracking tag in Google Tag Manager, fired by the
purchaseevent, withecommerce.valueas the value,ecommerce.transaction_idas the transaction ID andEURas the currency.
Conversion funnel and dashboards
Section titled “Conversion funnel and dashboards”To see where your visitors drop off, create a funnel exploration in GA4 with these steps, in checkout order: begin_checkout (cart), sign_up (account), page_view on page-livraison.html (address), add_shipping_info (carrier), page_view on paiement-form.html (payment), then purchase.
For a dashboard, connect Looker Studio (formerly Google Data Studio) directly to your GA4 property.