Docs · Shoplotse Google
Setup, settings and changes
Shoplotse Google connects JTL-Shop 5 with Google Analytics 4, Google Ads, Tag Manager and Google Search. It measures only after consent in the cookie banner. No AI and no Claude plan needed.
Ready in 10 minutes
- Download the plugin ZIP via the personal link in your purchase email, then upload and install it under Plugins → Plugin manager → Upload.
- Open Plugins → Installed plugins → Shoplotse Google, “Einrichtung” (setup) tab: first enter the licence key (starts with SL-).
- In the “Einstellungen” (settings) tab enter the GA4 measurement ID and set “Messung aktiv” to Yes.
- Enter shipping costs per country, delivery time and returns so product data appears in Google Search.
- Back in the setup tab, work through the steps until everything is green or grey.
- Place a test order or check “Realtime” in Analytics to see visits arrive.
Requirements
JTL-Shop 5.2 or later (tested with 5.8.1), PHP 8.1 or later (tested with 8.3 and 8.4). Product data needs NOVA or a NOVA child template, tracking works with any template. Consent manager switched on (Darstellung → Standardelemente → Consent-Manager).
Privacy
Customer names, email and postal addresses never go to Google, except SHA-256 hashed when Enhanced Conversions is on. Your privacy policy must mention Google Analytics 4 and, if used, Google Ads, Tag Manager, Enhanced Conversions and server-side purchases. Template files are never changed. The plugin is not legal advice.
The setup wizard
The setup tab checks on every visit whether everything is ready. Green means done, yellow please look, blue check yourself, grey optional.
| Step | What is checked |
|---|---|
| 1. Licence key | Enter the key from your purchase email (starts with SL-). Without a valid licence nothing is sent to Google. |
| 2. GA4 measurement ID | Enter the measurement ID from Analytics (starts with G-) in the settings. |
| 3. Cookie banner | Checks that the JTL consent manager is on and shows the entry “Google Analytics und Google Ads”. |
| 4. Double tracking | Warns if another plugin or template code already measures. Otherwise purchases count twice. |
| 5. Privacy policy | Checks whether your privacy page mentions Google Analytics. |
| 6. Test | How to test in Analytics under “Realtime”, with and without consent. |
| 7. Product data | Enter shipping costs per country, delivery time and returns. They then appear as product data for Google Search. |
| 8. Google Ads | Optional: conversion ID and label for purchases. Alternatively import the purchase from Analytics into Ads. |
| 9. Search Console | Optional: paste the verification tag so Google knows the shop is yours. |
| 10. Google Shopping | Optional: checks your existing export format for typical errors. |
| 11. Reports in the backend | Optional: Google service account with read-only rights for the “Berichte” (reports) tab. |
| 12. Measure more | Optional: Tag Manager, Enhanced Conversions and server-side purchase, with a double-tracking warning. |
Settings
All fields in the settings tab. Only the GA4 measurement ID (or a Tag Manager container) is required.
| Setting | Meaning |
|---|---|
| Messung aktiv | No = send nothing to Google. |
| GA4 Mess-ID | Starts with G-. Lower case and spaces are fixed automatically. |
| Google Ads Conversion-ID / -Label | AW-…. Paste AW-123456789/AbCdEf and the label field can stay empty. |
| Enhanced Conversions | Yes/No, default No. Also switch it on in the Google Ads conversion settings. |
| Tag-Manager Container-ID | GTM-…, the whole snippet works too. If GA4 is set up in the container, leave the GA4 ID empty. |
| Measurement-Protocol API-Secret | From Analytics → Admin → Data streams → web stream → “Measurement Protocol API secrets”. |
| Produktdaten ergänzen | Yes/No. |
| Marke | Empty = shop name. A manufacturer set in JTL-Wawi takes priority. |
| Versandkosten je Land | One line per country, e.g. DE 4,90 frei ab 50 and AT 9,90. |
| Bearbeitungszeit, Laufzeit, Rückgabefrist, Rücksendekosten | In days. Shipping and returns appear only once everything is filled in. |
| Search Console Bestätigung | Paste the whole HTML tag or just the code. |
| Google-Schlüssel (Dienstkonto) | Content of a Google service account JSON file, only for the reports tab. |
| Analytics Property-ID | The number from Analytics → Admin → Property details (not the measurement ID). |
| Search-Console-Property | Empty = automatic. Otherwise sc-domain:yourshop.com or https://www.yourshop.com/. |
What is measured
All events go to Google in GA4 format and sit in the dataLayer for Tag Manager. Nothing is sent without consent in the cookie banner.
| Event | When |
|---|---|
page_view | Every page |
view_item_list | Category page |
search | Search results |
view_item | Product page |
add_to_cart / remove_from_cart | Item added to or removed from the cart |
view_cart | Cart |
begin_checkout | Checkout started |
add_shipping_info / add_payment_info | Shipping and payment method chosen |
purchase | Order completed, with revenue, shipping and order number. Each order exactly once. |
Setting up reports
The reports tab reads Analytics and Search Console numbers through your own Google service account with read-only rights. Google Cloud is free for this. The click-by-click guide is also in the setup tab.
- Create a project in Google Cloud and enable the “Google Analytics Data API” and the “Google Search Console API”.
- Create a service account and download a key for it as JSON.
- Paste the file content in the plugin settings, plus the Analytics property ID.
- Add the service account's email address (ends in .gserviceaccount.com) in Google Analytics as “Viewer” and in Search Console with “Restricted” permission.
Troubleshooting
“SyntaxError” when uploading
Usually the backend login expired or the host blocks ZIP files with PHP code. Reload (F5) and upload again, or unzip and copy the shoplotse_google folder to plugins/ via FTP. Often the plugin arrived anyway: check the “Vorhanden” (available) tab.
Nothing shows up in Analytics
Check in the setup tab that licence and measurement ID are green. Then open the shop in a private window, accept the cookie banner and look under “Realtime” in Analytics.
Purchases count twice
A second plugin or Google code in the template also measures. The “Double tracking” step shows where. Keep only one active.
Shipping and returns missing in Google Search
Fill in all shipping and returns fields, otherwise the plugin does not output them. Google often needs a few days. Check with Google's Rich Results Test.
Licence shows an error
The AI Bridge key does not work here, Shoplotse Google has its own. One key covers one shop. Moving shops? Email info@shoplotse.net.
Changelog
All versions, newest first (in German). Always update via plugin manager → Upload → “Update”, never uninstall, or the settings are lost.
1.2.0
19.10.2026Neu
- Lizenzschlüssel wie bei der KI-Brücke: Im Reiter Einrichtung steht als erster Schritt das Feld für den Schlüssel aus der Kauf-E-Mail (beginnt mit SL-). Ohne gültige Lizenz gibt das Plugin nichts im Shop aus und sendet nichts an Google. Eine Lizenz gilt für einen Shop. Beim Aktivieren schickt der Shop einmal Schlüssel, Produkt, Shop-Adresse und Plugin-Version an shoplotse.net; danach wird nur alle 30 Tage nachgefragt, und ist shoplotse.net nicht erreichbar, bleibt die Lizenz gültig.
- Wichtig beim Update: Danach im Reiter Einrichtung den Lizenzschlüssel eintragen, sonst pausiert die Messung.
1.1.1
19.10.2026Korrekturen nach einer unabhängigen Prüfung gegen den Quellcode von JTL-Shop 5.8.1.
Verbessert
- Zahlungsarten, die vor dem Bestellabschluss bezahlt werden (z. B. manche PayPal- und Mollie-Einstellungen): Die vorläufige Bestellung zählt nicht mehr als Kauf. Vorher konnte ein Kauf doppelt in Google stehen, einmal mit einer Ersatz-Bestellnummer. Auch „Jetzt bezahlen“ für eine alte Bestellung meldet keinen zweiten Kauf.
- Kauf über den Server nur noch, wenn der Kunde im Cookie-Banner zugestimmt hat, nicht schon wenn ein altes Google-Cookie da ist.
- Shops mit mehreren Währungen: Preise und Umsatz werden in die Währung des Kunden umgerechnet.
- Enhanced Conversions: Telefonnummern wie „+49 (0) 171 …“ werden richtig umgewandelt; die Anschrift geht nur vollständig mit.
- Zieht ein Besucher die Zustimmung auf derselben Seite zurück, bekommt Google das sofort mit.
- Suche zählt beim Blättern und Sortieren nicht mehrfach.
- GTIN mit falscher Prüfziffer wird nicht ausgegeben (Google lehnt sie ab).
- Robuster bei kaputten Zeichen in Artikelnamen und ungewöhnlichen Cookies.
1.1.0
19.10.2026Alles, was die bekannten Google-Plugins für JTL-Shop können, jetzt auch hier.
Neu
- Google Tag Manager: Container-ID eintragen, der Container lädt nach Zustimmung im Cookie-Banner. Alle Ereignisse liegen im GA4-Format im dataLayer. Geht auch ganz ohne GA4 Mess-ID.
- Enhanced Conversions für Google Ads: E-Mail, Telefon, Name und Straße gehen beim Kauf mit SHA-256 verschlüsselt an Google, nur nach Zustimmung. Standardmäßig aus.
- Kauf über den Server (GA4 Measurement Protocol): Mit einem API-Secret meldet der Shop-Server den Kauf selbst. Werbeblocker und abgebrochene Weiterleitungen nach der Zahlung verschlucken ihn nicht mehr.
- Dynamisches Remarketing: Artikel tragen für Google Ads die Artikelnummer als
idund die Branche „retail“. - Neue Ereignisse: Kategorieseiten (
view_item_list), Suche (search), aus dem Warenkorb entfernt (remove_from_cart), Versand- und Zahlungsart in der Kasse (add_shipping_info,add_payment_info). - Produktdaten: GTIN (EAN) und Herstellernummer aus der Wawi, Sterne aus den Kundenbewertungen. Nur was das Template nicht schon selbst ausgibt.
- Einrichtungsassistent: neuer Schritt 11 „Mehr messen“ für Tag Manager, Enhanced Conversions und Kauf über den Server, mit Warnung bei doppelter Messung durch GA4 und Tag Manager.
1.0.0
19.10.2026Erste fertige Version.
Neu
- Lizenzbedingungen (
LICENSE.md): Der Plugin-Manager zeigt sie vor der Installation an. - Anleitung „Fehlermeldung beim Hochladen“ in der Doku: was hinter einem „SyntaxError“ steckt und wie man prüft, ob das Plugin trotzdem angekommen ist.
Verbessert
- Getestet mit PHP 8.3 und PHP 8.4.
0.2.0
17.10.2026Neu
- Reiter Berichte: die wichtigsten Zahlen aus Google direkt im Shop-Backend, letzte 28 Tage im Vergleich zu den 28 Tagen davor.
- Google Analytics: Besucher, Besuche, Bestellungen, Umsatz, Kaufrate, woher die Besucher kommen, Artikel (angesehen, in den Warenkorb, gekauft) und Einstiegsseiten.
- Search Console: Klicks, Einblendungen, Klickrate und Position in der Google-Suche, die wichtigsten Suchbegriffe und Seiten.
- Chancen: Suchbegriffe, bei denen der Shop oft gezeigt, aber knapp hinter den ersten Treffern selten angeklickt wird.
- Zugang über ein eigenes Google-Dienstkonto mit reinen Leserechten. Die Search-Console-Property wird automatisch gefunden.
- Fehlt eine Berechtigung oder ist eine Google-Schnittstelle nicht eingeschaltet, sagt der Reiter genau, wo man klickt.
- Einrichtungsassistent: neuer Schritt 10 „Berichte im Backend“ mit Klick-Anleitung für Google Cloud, Analytics und Search Console.
0.1.2
16.10.2026Verbessert
- Herstellerseite auf shoplotse.net gesetzt.
0.1.1
16.10.2026Verbessert
- Herstellerseite auf shoplotse.shop gesetzt.
0.1.0
16.10.2026Erste Verkaufsversion.
Neu
- Google Analytics 4 mit Consent Mode v2: Ohne Zustimmung im JTL Consent-Manager wird nichts an Google gesendet.
- E-Commerce-Messung: Artikelansicht, in den Warenkorb, Warenkorb, Kasse, Kauf mit Umsatz, Versand und Bestellnummer.
- Google-Ads-Conversion „Kauf“ mit Bestellwert. ID und Label können zusammen aus dem Google-Snippet eingefügt werden.
- Produkt-Strukturdaten: Marke, Versandkosten je Land mit „frei ab“, Lieferzeit und Rückgaberichtlinie (NOVA und NOVA-Child-Templates).
- Bestätigung der Google Search Console per HTML-Tag.
- Reiter Einrichtung mit 9 Prüfschritten und Klick-Anleitungen: Mess-ID, Cookie-Banner, doppelte Messung, Datenschutzerklärung, Test, Produktdaten, Google Ads, Search Console, Google-Shopping-Feed.
- Prüfung des Google-Shopping-Exportformats auf typische Fehler (Platzhalter bei Zustand und Produktkategorie, fehlende Marke).
- Cookie-Banner-Text auf Deutsch und Englisch.