example-commerce-host.com

Voorbeelddomein · Geen echte dienst · Bezoekers met een browser zien deze pagina · API-verzoeken krijgen 410 Gone

Voorbeelddomein · geen echte dienst

example-commerce-host.com

example-commerce-host.com is een voorbeelddomein uit de documentatie van Google over het meten van bezoekers over meerdere domeinen, waar het de plaats inneemt van de winkelwagen van een externe partij: een webwinkel op example-petstore.com stuurt zijn bezoekers naar een winkelwagen zoals example-commerce-host.com/example-petstore. Er draait geen winkelwagen, afrekenpagina of betaalpagina. Staat deze naam in je code of instellingen, vervang hem dan door het adres dat je van je winkelwagenprovider hebt gekregen.

Een sleutel, token, wachtwoord of betaalgegevens hierheen gestuurd? Kom nu in actie.

Verzoeken uit code die naar example-commerce-host.com wijst, komen op deze server terecht in plaats van bij de echte webwinkel of betaalprovider, samen met elke API-sleutel, elk toegangstoken, elk wachtwoord, elke sessiecookie en alle kaartgegevens die ze meesturen. Beschouw die gegevens als uitgelekt:

  1. Trek de sleutel, het token of het wachtwoord in bij de dienst die het heeft uitgegeven, en vraag een nieuwe aan.
  2. Bewaar toegangsgegevens in de configuratie of een secrets manager, niet in de code.
  3. Zijn er echte kaartgegevens verstuurd, neem dan contact op met de uitgever van de kaart.
  4. Corrigeer het adres in je code, zodat nieuwe gegevens alleen nog naar de echte dienst gaan.

Waar je sleutels intrekt bij GitHub, AWS, Google Cloud, Stripe en andere diensten

Waar deze naam vandaan komt

Elk voorbeeld hieronder toont het verouderde fragment zoals het werd gepubliceerd, en wat je nu gebruikt. Het gemarkeerde deel vervang je. De volledige geschiedenis geeft de data en gearchiveerde bronnen.

Google Analytics · 2009–2024

Een webwinkel en een externe winkelwagen in Classic Analytics

De handleiding van Google voor het meten van meerdere domeinen met Classic Analytics (ga.js) stuurde bezoekers van de webwinkel op www.example-petstore.com naar een winkelwagen op www.example-commerce-host.com/petStoreCart.

Verouderd voorbeeld

<form action="…"
      onSubmit="pageTracker._linkByPost('www.example-commerce-host.com/petStoreCart/begin.php');">

_gaq.push(['_setCookiePath', '/myStore/']);
_gaq.push(['_cookiePathCopy', '/myCart/']);

Classic en Universal Analytics verzamelen geen gegevens meer. Verwijder deze code en laat formulieren en links naar je echte afrekenpagina wijzen. Overgenomen formulieren en links met een volledig adres sturen bezoekers nog steeds hierheen, vaak met parameters in de stijl van __utma in het adres.

Gebruik in plaats daarvan

<!-- Google tag (gtag.js) for Google Analytics 4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

Volledige gids: van Classic Analytics naar Google Analytics 4

Google Analytics 4 · Tag Manager · actueel

Je webwinkel en je winkelwagen samen meten

De huidige handleiding van Google over meten over meerdere domeinen begint nog altijd met een website op example-petstore.com en een winkelwagen op example-commerce-host.com/example-petstore; de codevoorbeelden gebruiken example.com. In Google Analytics 4 stel je de domeinen in het beheer in: Admin › Data streams › je webstream › Configure tag settings.

  • Configure your domains: je webwinkel en je winkelwagenprovider.
  • List unwanted referrals: betaalpagina’s die als verwijzer opduiken.

Zonder deze instelling telt een klant die van de webwinkel naar de winkelwagen gaat twee keer, en verliest de verkoop het verband met de manier waarop die klant je webwinkel vond. In Google Tag Manager staan dezelfde instellingen onder Google tags › je tag › Show all.

Of in de code

// Only if you configure cross-domain measurement in code instead of in the admin
gtag('set', 'linker', {
  'domains': ['www.example.com', 'checkout.example.net']
});

Stap voor stap: meten over meerdere domeinen · Google Tag Manager

API’s · scripts

API-clients en scripts

Verzoeken met een body, of naar paden zoals die van een API, komen uit code die dit domein als adres gebruikt. Ze krijgen 410 Gone met een toelichting in JSON.

Gebruik in plaats daarvan: lees het adres uit de configuratie

# Python: read the address from configuration, not from the code
import os
BASE_URL = os.environ["API_BASE_URL"]

// JavaScript / Node.js
const baseURL = process.env.API_BASE_URL;

Volledige gids: API-clients en SDK’s configureren

Zusterdomein

De kant van de webwinkel: example-petstore.com

De webwinkel uit deze voorbeelden, en de andere plekken waar hij opduikt (markup voor het sitelinks-zoekvak, verhuizingen in Search Console), komen aan bod op example-petstore.com.

Snelle checklist

  • Doorzoek je code, templates, thema en tagmanager op example-commerce-host en example-petstore.
  • Vervang het adres van de winkelwagen door het afrekenadres dat je van je winkelwagenprovider hebt gekregen.
  • Verwijder code van Classic en Universal Analytics; zet in Google Analytics 4 het domein van je webwinkel en dat van je winkelwagenprovider in de lijst.
  • Vervang alle sleutels, tokens en wachtwoorden die hierheen zijn gestuurd.
  • Wijst alles naar de juiste plek, dan komt er niets van je site of code meer op dit domein terecht.

Stap-voor-stapgidsen

Open de gids voor het platform waarin het voorbeelddomein opdook.

Google Analytics 4: meten over meerdere domeinen
  1. Open in Google Analytics Admin en ga naar Data streams. Kies je webstream.
  2. Open Configure tag settings › Configure your domains. Verwijder example-petstore.com en example-commerce-host.com en voeg de domeinen toe die je echt bezit of gebruikt, zoals je webwinkel en je afrekendienst.
  3. Open terug in Configure tag settings de optie List unwanted referrals en voeg verwijzers toe die geen nieuwe sessie mogen starten, zoals je betaalprovider. Je kunt er tot 50 opgeven.
  4. Sla op. De wijziging geldt voor de Google-tag op alle pagina’s die deze stream gebruiken.

Liever in de code dan in het beheer?

// Only if you configure cross-domain measurement in code instead of in the admin
gtag('set', 'linker', {
  'domains': ['www.example.com', 'checkout.example.net']
});

Controleer: Klik op een link van een van je domeinen naar een ander. Het adres van de bestemmingspagina hoort _gl= te bevatten. In Admin › DebugView (met Tag Assistant of de foutopsporingsmodus aan) loopt het bezoek door als één sessie.

Documentatie: Set up cross-domain measurement · Lees de volledige gids

Google Tag Manager
  1. Open in Tag Manager Google tags, kies je Google-tag en klik op Show all.
  2. Laat onder Configure your domains alleen je eigen domeinen staan. Gebruik List unwanted referrals voor verwijzers die genegeerd moeten worden.
  3. Doorzoek je Tags en Variables op example-petstore, example-commerce-host, _gaq en pageTracker. Verwijder oude tags met aangepaste HTML die code van Classic of Universal Analytics bevatten.
  4. Test met Preview en publiceer daarna een nieuwe containerversie met Submit.

Controleer: In Preview wordt de Google-tag op elke pagina geactiveerd en verwijst geen enkele tag naar de voorbeelddomeinen. Links tussen je domeinen bevatten _gl=.

Documentatie: Google tag settings in Tag Manager · Lees de volledige gids

Oude code van Classic of Universal Analytics
  1. Doorzoek je templates op _gaq, pageTracker, ga.js, analytics.js, ga('create' en urchin.
  2. Verwijder het hele blok, ook de onclick- en onsubmit-handlers met _link of _linkByPost. Laat voorbeeldlinks zoals “See my pet store” of “Continue Shopping” naar je eigen pagina’s wijzen, of haal ze weg.
  3. Installeer de Google-tag voor Google Analytics 4 (fragment hieronder), of voeg hem toe via Google Tag Manager.
<!-- Google tag (gtag.js) for Google Analytics 4 -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

Controleer: Bekijk de paginabron: daarin staan geen ga.js, analytics.js of voorbeelddomeinen meer. In Google Analytics 4 toont Reports › Realtime je eigen bezoek.

Documentatie: Universal Analytics has been replaced · Lees de volledige gids

WordPress en SEO-plug-ins
  1. Yoast SEO, Rank Math en All in One SEO bouwen het schema van je site op met je eigen adres en gebruiken de voorbeelddomeinen niet. Wil je de zoekactie toch weghalen: Yoast add_filter( 'disable_wpseo_json_ld_search', '__return_true' );, Rank Math rank_math/json_ld/disable_search, All in One SEO Search Appearance › Advanced › Enable Sitelinks Search Box uit.
  2. SEOPress heeft de markup voor het zoekvak in versie 8.1 (september 2024) verwijderd. Werk de plug-in bij.
  3. Het voorbeelddomein komt meestal uit een blok dat met de hand is geplakt: kijk in header.php van je thema, in velden voor “eigen code in de head” of “headerscripts”, en in plug-ins die code in de head van de pagina zetten.
  4. Vervang het blok door de juiste WebSite-markup (fragment hieronder), of verwijder het als je SEO-plug-in er al een genereert.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>

Controleer: Bekijk de bron van je homepage: er staat één WebSite-blok in, met je eigen naam en adres. Controleer het met de Schema Markup Validator.

Documentatie: Yoast: SearchAction · Lees de volledige gids

Met de hand toegevoegde gestructureerde gegevens
  1. Zoek het blok <script type="application/ld+json"> (of de microdata) waarin example-petstore.com staat.
  2. Vervang url door je eigen homepage en zet name op je sitenaam. Het deel potentialAction / SearchAction mag weg: Google toont het sitelinks-zoekvak niet meer.
  3. Zet het WebSite-blok alleen op je homepage.
  4. Gebruik in Search Console URL Inspection › Request indexing voor je homepage.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your site name",
  "url": "https://www.example.com/"
}
</script>

Controleer: De Schema Markup Validator toont een WebSite-item met je eigen name en url. De test voor uitgebreide resultaten kijkt niet naar sitenamen.

Documentatie: Site names in Google Search · Lees de volledige gids

Search Console: een site verhuizen
  1. Verifieer zowel het oude als het nieuwe domein als Domain properties in hetzelfde Search Console-account.
  2. Stuur elk oud adres met een 301-redirect door naar het overeenkomende nieuwe adres, en laat die redirects minstens 180 dagen staan.
  3. Open in de oude property Settings › Change of address en kies de nieuwe property.
  4. Controleer canonicals, sitemaps en hreflang op de nieuwe site op voorbeeldadressen en dien de sitemap daarna opnieuw in.

Controleer: In Search Console staat de aanvraag voor Change of address als lopend, en de nieuwe property krijgt vertoningen.

Documentatie: Change of Address tool · Lees de volledige gids

API-clients, SDK’s en scripts
  1. Zoek waar het adres is ingesteld: een basis-URL of host in de code, een configuratiebestand, een omgevingsvariabele, een Postman-omgeving of de constructor van een SDK.
  2. Verplaats het adres naar de configuratie (fragment hieronder) en laat het naar de echte dienst wijzen.
  3. Trek elke sleutel, elk token en elk wachtwoord in dat naar dit domein is gestuurd, en vraag nieuwe aan bij de dienst die ze heeft uitgegeven.
  4. Voeg een controle toe die faalt zodra het ingestelde adres example- bevat, zodat het niet opnieuw kan gebeuren.
# Python: read the address from configuration, not from the code
import os
BASE_URL = os.environ["API_BASE_URL"]

// JavaScript / Node.js
const baseURL = process.env.API_BASE_URL;

Controleer: Verzoeken komen bij de echte dienst aan en slagen. Er komt niets van je code meer hier terecht: dit domein beantwoordt zulke verzoeken met 410 Gone.

Documentatie: OWASP Secrets Management · Lees de volledige gids

In één oogopslag: oplossingen per platform

WaarWat je zietWat je doet
Classic Analytics (ga.js) of Universal Analytics (analytics.js)_setDomainName, _setAllowLinker, _link, _linkByPost of ga('linker:autoLink', …) met een van deze namenVerwijder het volledige oude fragment, ook de onclick- en onsubmit-handlers en de voorbeeldlinks, en installeer de Google-tag voor Google Analytics 4. Universal Analytics verwerkt sinds 1 juli 2023 geen gegevens meer. Universal Analytics has been replaced
Google Analytics 4Deze namen in de domeinlijst, of verwijzingen naar je eigen site in de rapportenAdmin › Data streams › je webstream › Configure tag settings › Configure your domains: laat alleen je eigen domeinen staan. Zet verdwaalde verwijzers onder List unwanted referrals. Set up cross-domain measurement
Google-tag in de code (gtag.js)gtag('set', 'linker', {'domains': ['example-petstore.com']}) of een vast ingestelde cookie_domainZet je eigen domeinen in linker.domains; laat cookie_domain weg of zet het op 'auto'. Measure activity across multiple domains
Google Tag ManagerEen domeinlijst in de Google-tag, of een oude tag met aangepaste HTMLGoogle tags › je tag › Show all › Configure your domains / List unwanted referrals; doorzoek tags met aangepaste HTML en variabelen op het oude fragment; test met Preview. Google tag settings in Tag Manager
Zelf toegevoegde gestructureerde gegevens (JSON-LD, microdata)"url": "https://www.example-petstore.com/", een target op query. of host.example-petstore.comGebruik je eigen homepage als url en je eigen sitenaam als name. De SearchAction mag weg. Controleer het met de Schema Markup Validator (de test voor uitgebreide resultaten kijkt niet naar sitenamen). Site names in Google Search
Yoast SEOZoekactie in het schema van de siteYoast gebruikt het adres van je eigen site. Wil je de zoekactie weghalen: add_filter( 'disable_wpseo_json_ld_search', '__return_true' ); Yoast: SearchAction
Rank MathZoekactie in het schema van de siteRank Math gebruikt het adres van je eigen site. Wil je de zoekactie weghalen, gebruik dan de filter rank_math/json_ld/disable_search. Rank Math: sitelinks search box schema
All in One SEOZoekactie in het schema van de siteSearch Appearance › Advanced › “Enable Sitelinks Search Box” uitzetten. AIOSEO: sitelinks search box
SEOPress—De markup voor het zoekvak is in versie 8.1 (september 2024) verwijderd; werk de plug-in bij. SEOPress changelog
Search ConsoleEen voorbeeldadres in een verhuizing, canonical, sitemap of hreflangChange of Address werkt alleen tussen domeinproperty’s die van jou zijn, met 301-redirects die minstens 180 dagen blijven staan. Corrigeer canonicals, sitemap en hreflang op je eigen site en dien de sitemap daarna opnieuw in. Change of Address tool
API-clients, SDK’s en scriptsEen basis-URL of host op een van deze namen, vaak met een Authorization-headerHaal de basis-URL uit de code naar de configuratie (omgevingsvariabele of configuratiebestand) en laat hem naar de echte dienst wijzen. Trek elke sleutel in die hierheen is gestuurd. OWASP Secrets Management

Zoek het in je eigen code

Doorzoek je project, ook templates en themabestanden, op beide namen:

grep -rniE "example-(petstore|commerce-host)\.com" .

Kijk ook naar wat je code niet laat zien: de uiteindelijke HTML van je homepage (bekijk de paginabron en zoek daarin), de aangepaste HTML-tags en variabelen in je Google Tag Manager-container, de velden voor “eigen code in de head” van je CMS of thema, en de instellingen van je analytics- en SEO-plug-ins.

Vragen en antwoorden

Wat is example-commerce-host.com?

Een voorbeelddomein. In de documentatie van Google over het meten van bezoekers over meerdere domeinen neemt het de plaats in van de winkelwagen van een externe partij: een webwinkel op example-petstore.com stuurt zijn bezoekers naar een winkelwagen op een adres zoals example-commerce-host.com/example-petstore.

Is example-commerce-host.com een echte winkelwagen of betaaldienst?

Nee. Er is geen winkelwagen, afrekenpagina of betaalpagina, en hier valt niets te kopen of te betalen. Elk adres op het domein toont deze pagina.

Waarom komen bezoekers of verzoeken uit je webwinkel op example-commerce-host.com terecht?

Een winkelwagenadres uit een voorbeeld is gekopieerd en nooit vervangen, in een link, een formulier, een trackingfragment of een script. Vervang het door het afrekenadres dat je van je winkelwagenprovider hebt gekregen.

Kaartgegevens, een sleutel of een wachtwoord naar example-commerce-host.com gestuurd? Wat nu?

Beschouw ze als uitgelekt. Trek sleutels, tokens en wachtwoorden in bij de dienst die ze heeft uitgegeven en vraag nieuwe aan; zijn er echte kaartgegevens verstuurd, neem dan contact op met de uitgever van de kaart. Alleen de dienst die de sleutel heeft uitgegeven, kan hem intrekken.

Hoe meet je in Google Analytics 4 bezoekers over je webwinkel en je winkelwagenprovider heen?

In het beheer: Admin, Data streams, je webstream, Configure tag settings, Configure your domains. Vul het domein van je webwinkel en dat van je winkelwagenprovider in.

Waarom telt één klant als twee gebruikers, of staat je eigen webwinkel als verwijzer?

Het meten over meerdere domeinen ontbreekt, of er staan verkeerde domeinen in de lijst. Zet je webwinkel en je winkelwagenprovider onder Configure your domains, en voeg verdwaalde verwijzers zoals betaalpagina’s toe onder List unwanted referrals.

Wat zijn /petStoreCart, /myStore/ en /myCart/?

Verzonnen paden uit dezelfde voorbeelden: de winkelwagen van de dierenwinkel, en een webwinkel en winkelwagen in aparte mappen op één domein. Geen ervan bestaat; elk ervan leidt naar deze pagina.

Is example-zoohandlung.de hetzelfde voorbeeld?

Ja. Duits oefenmateriaal voor examens vertaalde de dierenwinkel naar www.example-zoohandlung.de en liet de winkelwagen op www.example-commerce-host.com/example-zoohandlung/ staan.

Wat is example-petstore.com?

Het zusterdomein: de kant van de webwinkel in dezelfde voorbeelden. Zie example-petstore.com.

Bronnen