Install extension
Install and activate the extension in your Shopware administration under Extensions.
How the plugin works
The plugin supports two different methods for tracking integration in your Shopware shop:
- Google Tag Manager (GTM)
The recommended and most flexible method. With Google Tag Manager, you can manage all tracking events centrally, add your own tags and expand tracking at any time - without having to make any changes to the shop code. The plugin provides you with a preconfigured GTM template for this purpose. - Google tag (gtag.js)
This method integrates Google Analytics 4 and optionally also Google Ads directly via the gtag.js script - without Tag Manager. It is suitable if you prefer a simple setup.
Important: Deactivate other Google Analytics integrations if you use this app.
Set up Google Tag Manager
Tag Manager account and container
- Log in to your Google Tag Manager account or create a new account.
- Create a new empty container for importing the default settings.
For advanced users: You can also use an existing container and merge it later. However, we recommend using a new container.
You can find help with Google Tag Manager here:
Google Tag Manager Support
Create a GTM template with our generator
Our generator creates the finished JSON import file for your GTM container.
Analytics only: Exclusively GA4. No Google Ads.
Ads only: Exclusively Google Ads conversion tracking. No GA4.
Tip: You can read the account ID and container ID directly from the URL when you are logged into GTM:tagmanager.google.com/#/accounts/[Account ID]/containers/[Container ID]/
Import template
Import the customised file in GTM under Management → Import container.
Fill in variables
Switch to the GTM area Variables and fill in the following constants (enter values):
- 1.0# Google Analytics - Tag ID
- 2.0# Google Ads - Conversion ID
- 2.1# Google Ads - Label ID

How to find the IDs:
Analytics: Create a property or go to your existing property in Google Analytics and navigate to Administration (bottom left) and then to "Data streams". Select the relevant data stream. You will find the GA4 ID at the top right (measurement ID). Google Help
Ads: Log in to Google Ads → Target project → Conversions → Summary. Open the desired conversion action (or create a new one) Under Tag setup, select the "Use Google Tag Manager" tab. There you will find the conversion ID and the conversion label.

Configure plugin in Shopware
Now switch to your Shopware backend and open the plugin configuration.

Under "Which tracking integration would you like to use?", select the option "Google Tag Manager".
Then enter your GTM ID (e.g. GTM-XXXXXXX) in the "Google Tag Manager Container ID" field.

If you use google Ads Tracking, please also activate the option and, if applicable, Enhanced Conversion Data:

Save the configuration to activate the integration of the container in the shop.
Check and publish containers
Use the Preview function in Google Tag Manager ("View in preview") to test your container. Enter your shop URL and check whether all events such as product view, add-to-cart or purchase are triggered correctly. Make sure that no tracking takes place if cookie consent is rejected.
If everything works as desired, don't forget to publish the container Click on the top right of the GTM on Send → Publish. Only then will your tracking be active in the live shop.
Configuration Google Analytics (gtag.js)
If you no Google Tag Manager you can alternatively work directly with the Google Analytics tracking code (gtag.js).
- Choose from "Which tracking integration would you like to use?" the option "Google Analytics (gtag.js)".
- Wear your Google Analytics 4 Measurement ID in the format G-XXXXXXXXXXXX in the corresponding field. You can find the ID in Analytics under Administration → Data streams
- Save the configuration.

The plugin now handles tracking via the gtag.js code - including all supported e-commerce events such as product view, add-to-cart and checkout.
Hint: If you use the Google Tag Manager you must maintain the GA-ID there in the container - not in the plugin.
Configuration Google Ads Tracking (gtag.js)
If you want to use Google Ads Conversion Tracking, without using the Google Tag Manager, you can set this up directly via the gtag.js tracking code.
- Choose from "Which tracking integration would you like to use?" the option "Google Analytics (gtag.js)".
- Activate the option in the plugin "Activate conversion tracking".
- Wear your Google Ads Conversion ID and the associated Conversion label in the corresponding fields.
- (Optional) Activate "Activate enhanced conversion data"to transmit additional user data such as email address or telephone number to Google Ads. This improves the allocation of conversions - especially for cross-device purchases.
- Save the configuration.
Hint: For Enhanced Conversions, you must also activate this function in your Google Ads account. You can find instructions here: Google Ads guide to extended conversions
How do I find my Google Ads conversion ID and the conversion label?
- Log in to your Google Ads account.
- Navigate to → Target project → Conversions → Summary
- Select an existing Conversion campaign or create a new one.
- Click in the area "Tag facility" on the tab "Set up the day yourself".
- In the "Event snippet" section, you will find both your conversion ID (e.g. AW-1234567890) and the conversion label (e.g. abc123XYZabcDEF456) under send_to.
Dynamic remarketing
If you want to use dynamic remarketing via Google Ads, you can specify a so-called "feed type key" in the plugin configuration. This is necessary so that Google can correctly allocate your product data and display suitable adverts.
Select the appropriate type depending on what you are applying for. The following options are available:
- retail
- education
- flights
- hotel_rental
- jobs
- local
- real_estate
- travel
- custom
For classic online shops, the following is usually "retail" the right choice.
You can find more information on use and setup in the official Google Ads Remarketing documentation:
https://support.google.com/google-ads/answer/7305793?hl=de&ref_topic=10070037#zippy
Configure consent management
In the plugin configuration, select the consent manager that you use in your shop. Supported plugins include the Shopware Cookie Consent Manager, Cookiebot, Usercentrics, CookieFirst, CCM19, ACRIS EU Cookie Policy Pro.
In the "Expert mode" field, you can - if necessary - enter a customised name or the key of your content tool. This option is particularly useful for external tools that require their own integration.

Assigning the cookie category: In the plugin settings, you can now explicitly specify the category in which the extension should appear in the frontend consent dialogue.

Expert settings (Consent-Free Tracking)
If you are using a special setup in which the Google Tag Manager is to be loaded independently of the cookie content, you can activate an additional container snippet here.
To do this, activate the option "Activate Consent-Free Google Tag Manager JavaScript snippet" and enter in the field below the corresponding Container ID (e.g. GTM-XXXXXXX).
This function is intended exclusively for advanced use cases - for example, if you use tags that are Do not collect any personal data or must be loaded before consent is given.
Please note: The shop operator is responsible for GDPR-compliant use. Only use this option if you are aware of the legal implications.
Opt-out link for Google Analytics
To deactivate tracking by users, add the following link to your privacy policy:
<a onclick="javascript:gaOptout();" href="javascript:void(0);">Switch off Google Analytics tracking for this website here</a>
Set up server-side tracking
What is server-side tracking?
Server-side tracking is a modern method of collecting website data. Instead of sending tracking data directly from the browser to Google, it is first sent to a separate server and forwarded from there in a controlled manner.
Classic tracking: Browser → Google
Server-side tracking: Browser → Your tagging server → Google
Important concepts: Web vs. server container
To use SST, you need two different container types in Google Tag Manager. These fulfil different tasks:
| Container type | Task | Biloba template necessary? |
| Web container | Collects events (clicks, sales) in the browser. | Yes (JSON import) |
| Server container | Receives data & protects privacy. | No (standard) |
Prerequisites
To be able to use server-side tracking, you need:
- A Google Tag Manager server container: Created in your GTM account.
- A tagging server (hosted on Google Cloud Platform, AWS, or with a provider such as Stape.io)
- Your own subdomain (recommended, e.g. gtm.your-domain.com)
- Budget: Please note that SST incurs hosting costs (approx. 30-50 €/month depending on traffic).
HintServer-side tracking incurs ongoing costs for server hosting. The costs depend on your shop's traffic.
How the automatic redirection works
Thanks to our plugin you have to No transport URLs manually in the GTM interface customise.
- Simply import our JSON file into the Web container.
- Enter your server URL in the Plugin configuration in Shopware.
- The plugin automatically instructs the web container to send all data to your own server when loading in the shop.
Step 1: Create server container
- Open Google Tag Manager
- Click on „Create container“
- Select the target platform „Server“
- Follow the set-up wizard
Step 2: Set up the tagging server
Google offers two options:
Option A: Automatic provisioning (recommended for beginners)
- Google automatically sets up a server on Google Cloud Platform
- Simplest method, but less control over the infrastructure
Option B: Manual provision
- You set up the server yourself (Docker container)
- More control, but technically more demanding
- Can be hosted on any infrastructure
Detailed instructions from Google:
Step 3: Set up subdomain (recommended)
For optimal cookie functionality, you should have a subdomain of your website point to the tagging server:
gtm.your-domain.com → Your tagging server
This makes it possible:
- First-party cookies (longer duration)
- HttpOnly-Cookies (more security)
- Better compatibility with Safari/ITP
Step 4: Configure plugin
- Open the plugin configuration in Shopware Admin
- Activate „Activate server-side tracking“
- Wear the Server container URL (e.g.
https://gtm.deine-domain.de) - Saving and clearing the cache
ImportantThe URL must be entered without a trailing slash!
- ✅ Correct: https://gtm.deine-domain.de
- ❌ Incorrect: https://gtm.deine-domain.de/
Functionality in detail
After activation, the plugin automatically changes all Google tracking URLs:
| Before | Afterwards |
|---|---|
https://www.googletagmanager.com/gtm.js | https://gtm.deine-domain.de/gtm.js |
https://www.googletagmanager.com/gtag/js | https://gtm.deine-domain.de/gtag/js |
In addition, the parameter server_container_url to all gtag('config', ...) Calls attached.
Source tracking (UTM / affiliate code)
Multitracking not only records Google events - the plugin also writes the advertising source of each order directly into the Shopware data record. UTM parameters, advertising click IDs and the HTTP referrer end up as Affiliate code and Campaign code in the order and are therefore immediately visible in the order list - without external reporting.
What is recorded?
- UTM parameters —
utm_source,utm_medium,utm_campaign,utm_content,utm_term - Advertising click IDs —
gclid(Google Ads),fbclid(Meta),msclkid(Microsoft Ads),ttclid(TikTok) and others - HTTP referrer - is used as a fallback if no UTM parameters or click IDs are available
Behaviour
- By default activated - As soon as the plugin is installed or updated, tracking starts automatically.
- Sticky per session: The first source value entered is retained for the entire session and is transferred to the order when the order is finalised - subsequent clicks do not overwrite it.
- No override with manual
?affiliateCode=-parameters: If the URL is used to create your ownaffiliateCode(e.g. through an existing affiliate programme), this remains unchanged - the source tracking does not write about it.
Important after the plugin update: So that the default value is permanently stored in the system_config-table, the switch in the plugin configuration area (card „Source Tracking (UTM / Affiliate Code)“) must be explicitly set once to To and stored. Only then does the SystemConfigService the value true - otherwise the code default takes effect, but the value is not visible in the configuration.
Make columns visible in the order overview
The recorded values are stored in the Shopware standard fields Affiliate code and Campaign code These are hidden in the order list by default. Here's how to make them visible:
- In the Shopware admin on Orders → Overview go.
- At the top right of the table header, click on the symbol with the three horizontal bars (Column settings).
- In the list the options Affiliate code and Campaign code activate.
- Save selection - the columns appear immediately in the order list.
Lead conversion tracking for contact forms
Since version 6.14, the plugin has been recording not only purchases, but also Enquiries as conversions. Once a Shopware contact form has been successfully submitted, the plugin automatically triggers the GA4 event generate_lead from (in GTM mode as generate_lead-DataLayer event). Here’s how to measure lead conversions in Google Analytics 4 and Google Ads.
Furnishings
You’ll find the map for this in the plugin configuration „Lead Conversion Tracking“:
- „Record contact form submissions as lead conversions (generate_lead)“ — triggers the lead event.
- „Lead conversion value“ — Monetary value in the shop’s currency, which is sent with the event as the conversion value (for Google Ads). Default:
1.0.
Hint: The event is triggered as soon as a visitor successfully submits the Shopware contact form.
Custom snippets & GTM preview mode
For more advanced setups, the plugin offers two extension points for custom code, as well as a preview mode for Google Tag Manager.
Custom snippets (Head & Body)
On the map „My own snippets“ you can integrate your own code into the storefront:
- „Custom code in the head section“ — is displayed unchanged in the header section of every storefront page. Suitable for additional loaders (e.g. a server-side GTM container), third-party consent tools or alternative trackers. You specify the surrounding script tags yourself.
- „Custom code after the body“ — is output immediately after the opening `body` tag; this is common for the GTM Noscript fallback or for markup that must appear immediately after the `body` tag.
Important: The head code is without consent management loaded (before each cookie consent). It is your responsibility to obtain any consent required by law (e.g. GDPR). Faulty code may damage the storefront – use at your own risk.
GTM Preview Mode (Environment Parameters)
The field „GTM environment parameters (preview mode)“ on the map „Google Tag Manager configuration“ loads a specific GTM workspace or the preview in the storefront instead of the live container.
- Parameters in GTM under Manage → Environments copy, e.g.
gtm_auth=ABC123>m_preview=env-3>m_cookies_win=x(without a leading?or&). - Leave this field blank to load the standard Live Container.
Coupon mapping (price context)
The plugin can pass price benefits on to GA4 as „coupons“, so that you can analyse purchases involving tiered pricing and RRP discounts in GA4/Google Ads reporting. You’ll find the toggles on the map „Coupon mapping (price context)“:
- „Passing tiered prices as item coupons“ — if a product is actually purchased at a volume-based tiered price (unit price below the base price), the plugin sets the field in the GA4 item
couponon the volume discount marker anddiscounton the amount saved. - „Pass on the RRP (strikethrough price) as an item coupon“ — if a product is sold below its RRP / marked-down price, then
couponon the UVP marker anddiscountbet on the difference.
If both apply, the Tiered pricing takes precedence. The marker texts can be customised via the Storefront snippets (biloba.AdGoogleGtagsjs.coupon.graduated or. biloba.AdGoogleGtagsjs.coupon.uvp).
List context for product lists (from version 6.15 onwards)
From version 6.15 onwards, the events are passed view_item_list and select_item the appropriate GA4 list context for each product list (item_list_id and item_list_name). In Google Analytics 4, it is immediately clear from which list a product was viewed or clicked on — whether it was a category, search results, cross-selling or a CMS slider.
In addition, it fires view_search_results Now also available in the search suggestions (Suggest/Autocomplete) — not just on the full search results page. This allows you to track user behaviour as soon as they start typing in the search box.
No configuration required — list context tracking is automatically enabled after updating to version 6.15.
FAQs
Support
If you have any questions or problems, please do not hesitate to contact us:
- Support request: biloba-it.de/shopware-plugin-support
- e-mail: support@biloba-it.de
- Phone: +49 (0) 711 - 13633800
No solution found?
Describe your problem to us - we'll take a look at it and get back to you as soon as possible.
