Dynamische waardes ophalen vanuit Shopify-webshop
Wil je gegevens zoals de SKU, naam of prijs van een product meesturen in een event richting Copernica? In een Shopify-webshop kun je deze waardes op twee manieren ophalen:
- via de dataLayer (als je thema of app deze gebruikt)
- via de HTML van de pagina zelf
In dit artikel leggen we uit hoe je beide methodes gebruikt. Voor instructies
over hoe je de opgehaalde waardes in een tag verwerkt, verwijzen we je naar het
artikel over het gebruik van copernica.trigger()
in Google Tag
Manager.
Methode 1: de dataLayer gebruiken
Sommige Shopify-thema’s of apps vullen automatisch een dataLayer met productinformatie op productpagina’s. Deze kun je gebruiken om waardes zoals de SKU, naam of prijs dynamisch op te halen.
Op een productpagina bevat de dataLayer bijvoorbeeld dit object:
{
"event": "view_item",
"ecommerce": {
"items": [{
"item_id": "SKU-123",
"item_name": "Voorbeeldproduct",
"price": 19.95
}]
}
}
In dat geval kun je de volgende paden gebruiken om waardes op te halen:
ecommerce.items.0.item_id
voor de SKUecommerce.items.0.item_name
voor de productnaamecommerce.items.0.price
voor de prijs
Let op: niet elk thema of app gebruikt deze structuur. Open de browserconsole
(rechter muisknop → Inspecteren → tabblad Console), typ dataLayer
en druk op
Enter. Je ziet dan een lijst met objecten. Zoek het object met productinformatie
en bepaal het juiste pad op basis van de structuur die daar wordt getoond.
Methode 2: de HTML van de pagina uitlezen
Als je Shopify-thema geen dataLayer gebruikt, kun je de benodigde waardes ook direct uit de HTML van de pagina halen, bijvoorbeeld via een class, tag of meta-tag.
Je kunt hiervoor in Google Tag Manager gebruikmaken van een DOM-variabele of een aangepaste JavaScript-variabele. Welke methode je gebruikt, hangt af van hoe je thema de informatie in de HTML opneemt.
Voorbeeld 1: SKU in een zichtbaar element
Veel Shopify-thema’s tonen de SKU in een element zoals:
<span class="sku">SKU-123</span>
In dat geval kun je in GTM een DOM-variabele gebruiken met:
- Selectiemethode: CSS-selector
- Elementselector: .sku
- Kenmerk: Inner text
Je haalt de waarde dan op via het pad:
document.querySelector('.sku').innerText
Voorbeeld 2: SKU in een meta-tag
Sommige Shopify-thema’s voegen de SKU toe aan een meta-tag:
<meta property="product:sku" content="SKU-123" />
Deze kun je uitlezen via een aangepaste JavaScript-variabele:
function() {
const productSku = document.querySelector('meta[property="product:sku"]');
return productSku ? productSku.content : undefined;
}