Google Analytics

Lad track.js læse købet fra Google Analytics 4 med data-sale="ga4" – ingen kode på kvitteringssiden.

Se som Markdown

Sender jeres site allerede købet til Google Analytics 4 – via Google Tag Manager (dataLayer) eller gtag – kan track.js læse ordrenummer og beløb derfra. Så skal ingen kende skabelonens feltnavne, og der er intet at indsætte på kvitteringen.

Slå det til

Tilføj data-sale="ga4" til scriptet på alle sider. Den rigtige linje med jeres indstillinger står under Opsætning i butikkens dashboard.

<head> · alle siderHTML
<script src="https://app.affilyflow.com/track.js" data-store="DIN_BUTIK" data-sale="ga4" data-sale-vat="25" async></script>
AttributVærdi
data-sale="ga4"Læs købet fra Google Analytics 4. Uden den ignoreres Google Analytics helt.
data-sale-vatMomsen i procent, som Google Analytics-beløbene indeholder. 25 hvis beløbene er med dansk moms; udelad den, hvis de er uden moms.
data-sale-shippingincl hvis fragten altid er med i value, excl hvis den aldrig er. Uden attributten gætter scriptet.

Formater, der læses

Købshændelsen purchase læses i alle tre former:

Google Tag Manager · dataLayerJavaScript
dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: '1008',
    value: 675,
    shipping: 49,
    currency: 'DKK',
    items: [{ item_id: '317', price: 375, quantity: 2 }]
  }
});
gtagJavaScript
gtag('event', 'purchase', { transaction_id: '1008', value: 1000, currency: 'DKK' });

En purchase-hændelse i dataLayer uden ecommerce-objekt læses også – så tages felterne direkte fra hændelsen.

  • Hændelser, der allerede ligger i dataLayer, når scriptet indlæses, læses straks.
  • Hændelser, der kommer bagefter, fanges med det samme – også når Tag Manager indlæses efter track.js. Desuden tjekkes dataLayer hvert sekund i 60 sekunder.
  • Andre hændelser (view_item, add_to_cart …) ignoreres.
  • Et køb uden transaction_id ignoreres.
  • Hvert ordrenummer meldes en gang pr. side; browserens og serverens dubletværn stopper resten.

Felter, der bruges

FeltBruges til
transaction_idOrdrenummeret. Påkrævet.
valueOrdrens beløb.
shippingFragten, der trækkes fra, når den er med i value.
items[].price og items[].quantityVarelinjernes sum (quantity er 1, hvis den mangler). Bruges, når value mangler, og til at gætte, om fragten er med.
currencyValutaen. Mangler den, bruges den første varelinjes currency, ellers DKK.

tax læses ikke. Momsen trækkes ud med data-sale-vat.

Sådan regnes beløbet

  1. Udgangspunktet er value. Er den 0 eller mangler, bruges varelinjernes sum.
  2. Fragten trækkes fra, når shipping er over 0, og enten data-sale-shipping="incl" er sat, eller (uden excl) value er større end varelinjernes sum – så er fragten regnet med i value.
  3. Med data-sale-vat divideres med 1 + moms/100.
  4. Resultatet rundes til to decimaler. Er det ikke over 0, meldes intet, og konsollen viser Affilyflow: the purchase event has no amount – the sale was not recorded.
valueshippingVarelinjerIndstillingMeldt
67549750moms 25540
79949750moms 25600
72449750moms 25, fragt incl540
1000––moms 25800
540––ingen moms540

Serveren regner igen

Ud over beløbet sender scriptet Google Analytics' rå tal med salget: value, shipping og varelinjernes sum. Har butikken gemt sin Google Analytics-opsætning under Opsætning i dashboardet (moms og fragt), regner serveren beløbet igen med den – med præcis samme regel som ovenfor.

  • En rettelse af moms eller fragt i Opsætning virker fra næste salg. Scriptet skal ikke lægges op igen.
  • Serverens beløb bruges kun, hvis det er over 0 og ikke over det, Google Analytics selv sagde. Ellers bruges scriptets beløb.
  • Uden en gemt Google Analytics-opsætning bruges scriptets beløb, som attributterne gav.
  • Kun salg fra Google Analytics-vejen regnes om. Salg fra salgslinjen, affilyflow.conversion() og integrationerne røres ikke.

Live-testen under Opsætning viser det beløb, der kom frem, så I kan se, om moms og fragt er rigtige. Se Test og fejlfinding.

Samtykke og klik

Google Analytics-vejen følger de samme regler som resten af track.js:

  • Uden et affiliateklik i browseren sendes intet.
  • Med data-consent="required" venter salget, til den besøgende har givet samtykke til marketing. Se Samtykke og cookies.

Mangler du noget?

Skriv til os – vi svarer hurtigt, og siden bliver rettet.

Kontakt support