# Google Tag Manager

> Sæt sporingen op fra Google Tag Manager med vores tag-skabelon – med Google Consent Mode indbygget og uden at røre sidens kode.

Har jeres webshop Google Tag Manager (GTM), kan I sætte Affilyflow op derfra med vores tag-skabelon i stedet for at lægge scriptet i sidens kode. Skabelonen indlæser jeres butiks eget script – `app.affilyflow.com/t/DIN_BUTIK.js` med jeres indstillinger fra Opsætning – venter på samtykke i Google Consent Mode og kan også melde købet.

## Det skal I bruge

- Adgang til at redigere og udgive jeres container i Google Tag Manager.
- Jeres butiks-id. Det står i **Program → Opsætning** – det er navnet i scriptets adresse, `app.affilyflow.com/t/DIN_BUTIK.js`.
- Skabelonen: [affilyflow-gtm.tpl](https://store.affilyflow.com/downloads/affilyflow-gtm.tpl).

## 1. Importer skabelonen

1. Hent [affilyflow-gtm.tpl](https://store.affilyflow.com/downloads/affilyflow-gtm.tpl).
2. Gå til **Skabeloner** i jeres container, og tryk **Ny** under **Tagskabeloner**.
3. Åbn menuen **⋮** øverst til højre, vælg **Importer**, og vælg filen.
4. Tryk **Gem**. Skabelonen hedder nu **Affilyflow**.

Under **Tilladelser** kan I se, hvad skabelonen må: indlæse `https://app.affilyflow.com/t/…`, læse samtykket for `ad_storage` og `analytics_storage` og kalde `affilyflow.conversion` og `affilyflow.consent`. GTM håndhæver det – skabelonen kan intet andet.

## 2. Sporing på alle sider

1. Gå til **Tags**, tryk **Ny**, og vælg **Affilyflow** under **Tagkonfiguration**.
2. Skriv jeres butiks-id under **Store ID**, og vælg **Tracking script on every page**.
3. Vælg udløseren **All Pages** (alle sidevisninger).
4. Gem tagget, og udgiv containeren.

Ligger scriptet allerede i sidens kode, så fjern det, når tagget er udgivet. Ellers indlæses det to gange.

## 3. Samtykke

Under **Consent** vælger I, hvornår scriptet må indlæses:

| Valg | Hvad sker der |
|---|---|
| **Only after consent in Google Consent Mode** (standard) | Scriptet indlæses først, når `ad_storage` er givet – eller både `ad_storage` og `analytics_storage`, hvis I vælger det. Siger kunden ja senere på samme side, indlæses det med det samme. Et aktivt nej på siden sletter klikket. |
| **Always – the script waits for consent itself** | Scriptet indlæses altid, men gemmer intet før et ja. Kræver, at **Cookiebanner** står på **Vent på samtykke** i Opsætning. Så læser scriptet selv Consent Mode, Cookiebot, Cookie Information og de andre bannere, vi kender – og [personlige rabatkoder](https://www.affilyflow.com/docs/butik/personlige-rabatkoder) virker også for kunder, der ikke har svaret. |

- Standardvalget forudsætter, at jeres cookiebanner sætter Google Consent Mode (en `default` og en `update`). Det gør fx Cookiebot, Cookie Information, Usercentrics, OneTrust og CookieYes. Et samtykke, der aldrig er sat, regner GTM for givet. Sætter jeres banner ikke Consent Mode, så brug det andet valg og **Vent på samtykke** i Opsætning.
- I begge tilfælde gemmes klikket først ved et ja. Lander kunden fra et affiliate-link og svarer først på en senere side, er klik-id'et fra adressen væk. Det gælder for alle scripts, der respekterer samtykket.
- Mere i [Samtykke og cookies](https://www.affilyflow.com/docs/butik/samtykke-og-cookies).

## 4. Salget

Der er to måder. Samme ordrenummer tæller kun en gang, men vælg en af dem, så beløbet altid regnes på samme måde.

**A. Fra Google Analytics 4.** Har jeres webshop GA4 e-handel med `purchase` i dataLayer, så vælg **Automatisk fra Google Analytics** under **Sådan meldes salget** i Opsætning. Scriptet læser købet, og vores server trækker moms og fragt fra efter jeres indstillinger. Der skal intet ekstra tag til. Se [Google Analytics 4](https://www.affilyflow.com/docs/reference/google-analytics).

**B. Et købs-tag.** Opret et tag mere med **Affilyflow** og **Report a purchase**, og lad det udløse af jeres købshændelse – fx den tilpassede hændelse `purchase`. Udfyld felterne med variabler. En variabel som `{{DLV - ecommerce.value}}` opretter I under **Variabler → Ny → Datalagsvariabel** med navnet `ecommerce.value`.

| Felt | Eksempel | Betydning |
|---|---|---|
| Order number | `{{DLV - ecommerce.transaction_id}}` | Ordrenummeret, kunden ser. |
| Order value | `{{DLV - ecommerce.value}}` | Varerne efter rabat. |
| Shipping included in the order value | `{{DLV - ecommerce.shipping}}` | Kun hvis beløbet indeholder fragten. |
| VAT included in the order value, in percent | `25` | Kun hvis beløbet er med moms. |
| Currency | `{{DLV - ecommerce.currency}}` | Tom = jeres afregningsvaluta. |
| Discount code | `{{DLV - ecommerce.coupon}}` | Kun [personlige rabatkoder](https://www.affilyflow.com/docs/butik/personlige-rabatkoder) giver provision uden klik. |

Provisionen regnes af varerne uden moms og fragt: (beløb − fragt) ÷ (1 + moms/100). Et køb til 724,00 kr. med 49,00 kr. i fragt og 25 % moms giver (724 − 49) ÷ 1,25 = 540,00 kr. Både `724.00` og `724,00` læses rigtigt.

Købs-tagget følger samme samtykkevalg som tagget på alle sider.

## 5. Test

1. Tryk **Forhåndsvis** i GTM, og åbn jeres webshop i Tag Assistant.
2. Gå til **Test sporingen** i Opsætning, og tryk **Åbn testlink** i samme browser. Sig ja til marketing i jeres banner, hvis det spørger.
3. I Tag Assistant skal **Affilyflow** stå under de udløste tags. Læg en testordre.
4. Live-testen i Opsætning viser testklikket og købet med ordrenummer og beløb. Tjek, at beløbet er varerne efter rabat, uden moms og fragt.

Kommer klikket ikke frem, så tjek, at samtykket er givet, og at tagget udløses på **All Pages**. Skabelonen skriver sine fejl i konsollen i forhåndsvisningen, fx når ordrenummeret mangler. Mere i [Test og fejlfinding](https://www.affilyflow.com/docs/butik/test-og-fejlfinding).

## Om skabelonen

- Skabelonen er til web-containere. En skabelon til server-side GTM har vi ikke endnu – vil I melde salget fra jeres server, så se [Sporing fra jeres server](https://www.affilyflow.com/docs/butik/server-sporing).
- Skabelonen ligger ikke i Googles Community Template Gallery endnu, så GTM viser ikke opdateringer af den. Ændrer vi den, står det her, og I importerer den nye fil oven på den gamle.
- Ændringer i Opsætning – fx samtykke eller Google Analytics-vejen – virker inden for få minutter uden at røre GTM, fordi scriptet henter jeres indstillinger.
- Skabelonen er til salgsprogrammer. Har I et lead-program (fx tilmeldinger), så brug scriptet fra Opsætning – det kender jeres lead-side, det gør skabelonen ikke.

Kilde: https://www.affilyflow.com/docs/butik/google-tag-manager
