Skip to content

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.

  1. Go to Settings > Sites, then click the Edit icon (pencil) of your site.

  2. Open the Marketing Parameters tab.

  3. Fill in the fields you need:

    • Google Analytics ID: the measurement ID of your GA4 web data stream, in the format G-XXXXXXXXXX. The UA-123455 example shown in the field dates from Universal Analytics, which Google has shut down: do not enter a UA- 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.
  4. Click Update.

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.

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_data and ad_personalization consent set to denied;
  • update_consent: the same set to granted, 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, and phone (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.

These events go straight to GA4 when the Google Analytics ID field is filled in.

GA4 eventWhenParameters
page_viewSteps of the profile questionnaire and of plan customizationpage_path: page address followed by # and the step number
page_viewAccount created in the checkoutpage_path: utilisateur-enregistre.html
page_viewAddress step displayedpage_path: page-livraison.html
page_viewAddress selectedpage_path: add_shipping_info
page_viewCarrier selectedpage_path: page-transport.html
page_viewPayment form displayedpage_path: paiement-form.html
page_viewOrder confirmation pageurl: order-confirmation.html
sign_upAccount created in the checkoutemail and eventId: SHA-256 hash of the email
add_to_cartPlan, add-on or product added to the cart, or quantity increaseditems: id, name, quantity, price
begin_checkoutCart page displayedecommerce: currency, value, coupon, items
add_shipping_infoCarrier selectedcurrency, value (shipping cost), coupon, shipping_tier (carrier name), items: item_id, item_name, coupon, discount, price, quantity
purchaseOrder confirmation pagetransaction_id (order number), affiliation (site name), value, shipping, tax, currency (EUR), items: item_id, item_name, item_category, quantity, price
actionShop product page displayedvalue: view_item, item: the product
actionSteps of the cancellation flowevent_category: unsub, value: the step (see layer_action below)
actionReactivation offer acceptedevent_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.

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 eventWhenContent
GA_page_viewSame steps as the page_view events above (except confirmation)url: same value as page_path
product_pageShop product page displayedecommerce.detail.products: name, id, price, brand (product), category
addToCartPlan, add-on or product added to the cart, or quantity increasedecommerce: currency, value, tax, total_discount (cart), add.products and items (the item: name, id, price, brand, category), user_data
removeFromCartItem removed or quantity decreasedecommerce.remove.products: the item (at least its id)
view_cartDefined in the code, no page sends it today
begin_checkoutCart page displayedecommerce: currency, value, coupon, items, tax, total_discount, user_data
sign_upAccount created in the checkoutemail, eventId: SHA-256 hash of the email
lead.user.registrationAccount created in the checkoutlead.user.registration.email: SHA-256 hash of the email
checkoutCheckout stepsecommerce.checkout.actionField: step and option (1 / new_account, 4 / delivery, 4 / transport, 5 / payment)
add_shipping_infoAddress selectedecommerce: 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_methodCarrier selectedecommerce: currency, value, tax, total_discount, items, user_data, shipping_tierce (carrier name)
order.confirmationOrder confirmation pageecommerce.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.infoOrder confirmation pageorderDetails: orderId, total
purchaseOrder confirmation pageecommerce: transaction_id, currency, value, tax, total_discount, coupon, shipping_tierce, items (name, id, price incl. tax, brand, category, quantity), user_data
layer_actionPlan customization, cancellation flow, reactivation offer acceptedvalue: 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:

  • brand is plan for a plan, addon for an add-on and product for a product.
  • user_data only exists when the customer is logged in: ordersCount (completed orders), sha256_email_address, sha256_phone_number and their address.
  • coupon is the code of the applied discount.
  • Events are pushed one second after the visitor’s action.

If you prefer to manage GA4 in Google Tag Manager rather than with the Google Analytics ID field:

  1. In your container, create a Google Tag with your G-XXXXXXXXXX ID, fired on Initialization - All Pages. It sends a page view on every page.

  2. 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 the dataLayer event name (for example purchase).

  3. 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_id or ecommerce.value.

  4. Check with Google Tag Manager’s Preview mode and GA4’s DebugView, then publish the container.

Ciklik does not send a Google Ads conversion event (conversion with send_to). Two ways to count your sales:

  • import the purchase key event of your GA4 property into Google Ads;
  • or create a Google Ads Conversion Tracking tag in Google Tag Manager, fired by the purchase event, with ecommerce.value as the value, ecommerce.transaction_id as the transaction ID and EUR as the currency.

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.