Inline-implementering av default-kommandot

Den här guiden förklarar hur du implementerar ett eget inline-skript för GCM:s default-kommando.

5 min läsning

Egna inline-skript kan hjälpa dig att anpassa GCM-standardkommandot efter ditt arbetsflöde och dina specifika krav. I den här guiden får du lära dig stegen för att skapa och implementera ditt eget inline-skript, tillsammans med de viktigaste sakerna att tänka på för en smidig konfiguration.

1

Installera det egna standardkommandot

Använd det här tillvägagångssättet när du underhåller en egen inline-implementation av Google Consent Mode och behöver ange standardsamtyckesstatus direkt på sidan. Google dokumenterar att standardkommandot för samtycke ska läggas till på varje sida och uppdateras när en besökare interagerar med din samtyckesbanner.

CookiePal implementerar redan det här kommandot som standard när du använder den vanliga Google Consent Mode-konfigurationen. Manuell installation behövs vanligtvis bara för egna implementationer, till exempel när du hanterar en egen inline-gtag-konfiguration, läser in taggar utanför CookiePal eller Google Tag Manager, eller behöver att standardkommandot för samtycke körs i en egen skriptordning innan andra taggar körs.

Installera det egna skriptet i head på varje sida, före Google-taggen eller Google Tag Manager-startkoden och före eventuella senare gtag-kommandon som kan skicka mätdata, till exempel gtag('js', ...), gtag('config', ...) eller gtag('event', ...).

Ordningen är viktig. Googles felsökningsvägledning anger att om standardkommandot läses in för sent kan det utlösa Tag Assistant-felet "A tag read consent state before a default was set".

Om din banner eller CMP uppdaterar samtycket asynkront ger värdet wait_for_update ett kort tidsfönster för att skicka motsvarande samtyckesuppdatering innan mätdata skickas.

2

Exempel på eget skript

Exempel på eget inline-skript:

1<script>
2window.dataLayer = window.dataLayer || [];
3function gtag() {
4  dataLayer.push(arguments);
5}
6gtag('consent', 'default', {
7  'ad_personalization': 'denied',
8  'ad_storage': 'denied',
9  'ad_user_data': 'denied',
10  'analytics_storage': 'denied',
11  'functionality_storage': 'denied',
12  'personalization_storage': 'denied',
13  'security_storage': 'granted',
14  'wait_for_update': 500,
15});
16gtag('set', 'ads_data_redaction', true);
17gtag('set', 'url_passthrough', true);
18</script>

OBS: Om du använder WordPress, se WordPress-avsnittet. Om du använder Shopify, se Shopify-avsnittet. Om du använder Next.js, se Next.js-avsnittet.

3

Exempel på regioninställningar

Google rekommenderar att du begränsar nekade standardvärden till de regioner där du faktiskt visar en samtyckesbanner. Det hjälper till att bevara mätningen på andra håll och undviker att besökare får nekade standardvärden utan en banner där de kan uppdatera sitt samtycke.

Det kan du göra med parametern region. Google dokumenterar värdena som ISO 3166-2-regionkoder, så landskoder som GB och underregionskoder som US-AK kan användas där det är lämpligt.

Exempel på regionspecifikt kommando:

1<script>
2window.dataLayer = window.dataLayer || [];
3
4function gtag() {
5  dataLayer.push(arguments);
6}
7// EU-specific settings
8gtag('consent', 'default', {
9  'ad_personalization': 'denied',
10  'ad_storage': 'denied',
11  'ad_user_data': 'denied',
12  'analytics_storage': 'denied',
13  'functionality_storage': 'denied',
14  'personalization_storage': 'denied',
15  'region': [
16    'AT', 'BE', 'BG', 'CH', 'CY', 'DE', 'DK', 'EE', 'ES', 'FI',
17    'FR', 'GB', 'GG', 'GR', 'HR', 'HU', 'IE', 'IM', 'IT', 'JE', 'LT', 'LU',
18    'LV', 'MT', 'NL', 'PL', 'PT', 'RO', 'SE', 'SI', 'SK',
19  ],
20  'wait_for_update': 500,
21});
22// Default settings
23gtag('consent', 'default', {
24    'ad_personalization': 'granted',
25    'ad_storage': 'granted',
26    'ad_user_data': 'granted',
27    'analytics_storage': 'granted',
28    'functionality_storage': 'granted',
29    'personalization_storage': 'granted',
30    'security_storage': 'granted',
31    'wait_for_update': 500,
32});
33gtag('set', 'ads_data_redaction', true);
34gtag('set', 'url_passthrough', true);
35</script>

OBS: Om du använder ett regionbegränsat kommando som detta ska du se till att din banner riktar sig mot samma regioner och lägga till ett standardkommando utan regionbegränsning som din policy kräver för besökare utanför den listan.

4

Vad ads_data_redaction gör

När ad_storage är denied anger Google att reklamcookies inte sätts, men att begärans URL:er fortfarande kan innehålla information om annonsklick. Med gtag('set', 'ads_data_redaction', true) maskeras annonsklicksidentifierare ytterligare i nätverksbegäranden för Google Ads och Floodlight, och begärandena skickas via en cookiefri domän.

Inställningen har bara effekt när consent mode används och ad_storage är nekat. Om ad_storage är beviljat dokumenterar Google att ads_data_redaction inte har någon effekt.

Se Googles officiella dokumentation om ads data redaction för detaljerat beteende.

5

Vad url_passthrough gör

När ad_storage eller analytics_storage är nekat låter url_passthrough Google skicka vidare information om annonsklick, klient och session via URL-parametrar inom samma domän, så att mätningen kan fortsätta mellan sidor utan att förlita sig på cookies.

Google noterar att detta bara fungerar i vissa fall, till exempel när consent mode är implementerat och navigeringen stannar på samma domän. Eftersom parametrar som gclid, dclid, gclsrc, _gl eller wbraid kan läggas till i URL:er bör du se till att dina omdirigeringar bevarar dem och att din webbplats säkert kan ignorera dem där det behövs.

Se Googles officiella dokumentation om URL passthrough för krav och begränsningar.

6

Installera det i WordPress med WPCode

Om din webbplats körs på WordPress kan du lägga till standardkommandot utan att redigera temafiler genom att använda pluginet WPCode för att infoga ett PHP-kodstycke.

Gå till Plugins > Add New i WordPress adminyta, sök efter WPCode och installera och aktivera pluginet.

Öppna Kodblock (Code Snippets) och skapa ett nytt kodstycke. Välj PHP-kodblock (PHP Snippet) som kodtyp, klistra in följande kod och spara den som ett nytt kodstycke.

1add_action('wp_head', function () {
2    ?>
3    <script>
4        window.dataLayer = window.dataLayer || [];
5        function gtag(){ dataLayer.push(arguments); }
6
7        gtag('consent', 'default', {
8            "ad_personalization": "denied",
9            "ad_storage": "denied",
10            "ad_user_data": "denied",
11            "analytics_storage": "denied",
12            "functionality_storage": "denied",
13            "security_storage": "granted",
14            "personalization_storage": "denied",
15            "wait_for_update": 500
16        });
17
18        gtag("set", "ads_data_redaction", true);
19        gtag("set", "url_passthrough", true);
20    </script>
21    <?php
22}, 0);

Ange värdet Prioritet (Priority) till 0 i kodstyckets inställningar, så att standardkommandot för samtycke körs så tidigt som möjligt i sidans head.

Se till att kodstycket är markerat som Active och klicka sedan på Update för att spara det.

Bekräfta efter sparandet att kodstycket visas i WPCode-listan med Typ av kod (Code Type) inställd på PHP, Prioritet inställd på 0 och statusreglaget aktiverat.

7

Installera det i Shopify

Om din butik körs på Shopify kan du lägga till standardkommandot direkt i din temakod med samma skript som visas i avsnittet Exempel på eget skript ovan.

Gå till Online Store > Themes i Shopify admin. Öppna menyn för ditt nuvarande tema och klicka på Edit code.

Öppna Layout > theme.liquid i kodredigeraren. Leta upp den inledande taggen <head> och klistra in standardkommandot från det tidigare exemplet direkt efter den, före CookiePal-bannerskriptet, Google-taggen eller Google Tag Manager-startkoden.

Klicka på Save uppe till höger för att publicera ändringen.

8

Installera det i Next.js

Om din webbplats körs på Next.js lägger du till standardkommandot i din rotlayout, till exempel app/layout.tsx, före CookiePal-bannerskriptet, Google-taggen eller Google Tag Manager-startkoden.

Behåll skriptinnehållet som en sträng i elementet <script>. Klistra inte in objektet direkt som JSX, annars försöker Next.js tolka det i stället för att rendera det som inline-skriptinnehåll.

Använd samma standardkommando som visas i Exempel på eget skript, men anpassa det så att JavaScript-koden ligger kvar i en sträng, så här:

1<script>
2  {`window.dataLayer = window.dataLayer || [];
3  function gtag() {
4    dataLayer.push(arguments);
5  }
6  gtag('consent', 'default', {
7    'ad_personalization': 'denied',
8    'ad_storage': 'denied',
9    'ad_user_data': 'denied',
10    'analytics_storage': 'denied',
11    'functionality_storage': 'denied',
12    'personalization_storage': 'denied',
13    'security_storage': 'granted',
14    'wait_for_update': 500,
15  });
16  gtag('set', 'ads_data_redaction', true);
17  gtag('set', 'url_passthrough', true);`}
18</script>

Spara dina ändringar och publicera den uppdaterade versionen av din Next.js-webbplats.

9

Viktigt om ordningen

Det egna standardkommandot måste köras före alla senare gtag-kommandon och före alla händelser som kan utlösas vid sidinläsning. Google rekommenderar också att samtyckesuppdateringen registreras på samma sida som besökaren interagerar med bannern, före varje sidövergång.

Var den här guiden till hjälp?Tack för att du berättade.
Kör du fast?Hör av dig så hjälper vi dig att få din banner live.Kontakta oss