Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/kristofferpihlfelt/wpu-sparning/archive/refs/heads/main.zipGratis plugin från wordpressutveckling.se. Koden förklaras rad för rad i guiden: https://wordpressutveckling.se/ga4-med-samtycke-i-wordpress/
Byggt av Kristoffer Pihlfelt på Pihlfelt & Vänner. Licens: GPL-2.0-or-later.
- Bidragsgivare: Pihlfelt & Vänner
- Kräver WordPress: 6.7
- Kräver PHP: 8.2
- Version: 1.0.0
- Licens: GPL-2.0-or-later
Vad det gör
Google Analytics 4 med en egen, enkel samtyckesruta. Samma plugin som körs på wordpressutveckling.se. Ingen cookietjänst behövs.
- Inget skript från Google och inga kakor förrän besökaren klickar Godkänn. Före det skickas ingenting till Google, inte ens en preconnect.
- Efter Godkänn laddas gtag.js med Consent Mode v2: ad_storage, ad_user_data och ad_personalization är alltid denied (ingen reklam), analytics_storage blir granted. Google kallar det här "basic consent mode" (grundläge): taggarna laddas inte alls innan besökaren har svarat.
- Rutan ligger fast längst ned, har samma typsnitt som temat och två likadana knappar: Godkänn och Neka. Ingen knapp är större eller färgstarkare än den andra.
- Valet sparas i webbläsarens localStorage (nyckeln wpu_samtycke, värde och tidpunkt), inte i en kaka. Efter 12 månader frågar rutan igen.
- Neka eller ändrat val: samtycket sätts till denied, inga fler träffar skickas och kakorna _ga och ga tas bort, både för värdnamnet och för huvuddomänen.
- Skriptet är cirka 5 KB okomprimerat med kommentarer (cirka 2 KB med gzip) och laddas med defer.
Inställningar
Inställningar > Spårning:
- Mätnings-ID (G-XXXXXXXXXX). Tomt fält betyder att pluginet inte gör någonting.
- Samtyckestext. Standard: "Vi vill gärna mäta besöken med Google Analytics för att se vilka guider som hjälper. Ingen reklam och ingen annonsspårning. Inget skickas till Google förrän du godkänner."
- Länk till integritetssidan (standard /integritet/).
- Spåra inte inloggade som kan skriva inlägg (standard på).
Felsökningsläge: ingen spårning lokalt
På en lokal sajt skickas aldrig något till Google. Pluginet går i felsökningsläge när
- värdnamnet slutar på .test, .local eller .localhost, eller är localhost,
- wp_get_environment_type() är local eller development, eller
- du är inloggad som redaktör (och kryssrutan ovan är på).
Rutan visas som vanligt, men i stället för att ladda gtag.js skriver skriptet i webbläsarens konsol vad som skulle ha skickats ([wpu-sparning] gtag ...). Inställningssidan visar om sajten är i felsökningsläge och varför. Din riktiga GA-egendom blir alltså inte nedskräpad av testbesök.
Länken "Cookieinställningar"
Besökaren ska kunna ändra sig lika lätt som hon svarade. Lägg en länk i sidfoten:
- Kortkoden [wpu_sparning_installningar] ger en knapp "Cookieinställningar".
- Eller attributet data-wpu-samtycke på valfri länk eller knapp, till exempel Cookieinställningar. Utan JavaScript går länken till integritetssidan.
Egna händelser
GA4:s förbättrade mätning tar redan sidvisningar, utgående klick, scrollning och nedladdningar. Pluginet lägger inte till dem en gång till.
- JavaScript: window.wpuSparning.event( 'namn', { parameter: 'värde' } ). Händelsen väntar tills besökaren har svarat och kastas om svaret är Neka.
- Brygga: skicka document.dispatchEvent( new CustomEvent( 'wpu:handelse', { detail: { typ: 'verktyg_klar', verktyg: 'priskalkylator' } } ) ) från din egen kod. Pluginet översätter typen till en GA4-händelse enligt en tabell som du ändrar med filtret wpu_sparning_handelser.
Standardtabellen:
- verktyg_klar -> tool_complete (tool)
- forfragan_skickad -> generate_lead (lead_source). Bara när en förfrågan eller offertbegäran faktiskt har skickats.
- hjalpte_ja / hjalpte_nej -> feedback (answer = yes/no). Parametern heter answer eftersom value i GA4 är ett belopp.
För utvecklare
- wpu_sparning_handelser – ändra tabellen ovan (array: typ => name, from, set).
- wpu_sparning_debug – returnera '' för att tvinga skarpt läge eller en sträng för att tvinga felsökningsläge.
- Stilen har handtaget wpu-sparning och använder temats färgvariabler (--wp--preset--color--surface, text, border, surface-2) med neutrala reservfärger, så mörkt läge följer med.
Källor
- Google, Consent Mode v2-parametrarna: https://developers.google.com/tag-platform/security/guides/consent
- Google, grundläge och avancerat läge: https://developers.google.com/tag-platform/security/concepts/consent-mode
- Google, kakor från Google Analytics (_ga, ga, 2 år): https://support.google.com/analytics/answer/11397207
- IMY, beslut mot Aktiebolaget Trav och Galopp, IMY-2023-16453, 2024-12-16: reprimand för att det inte var lika lätt att återkalla samtycke som att lämna det, och för vilseledande design (godkänn-knappen hade tydligare kontrast än avvisa-knappen). IMY säger att det inte finns någon generell standard för färger, men att bedömningen gäller om färg och kontrast är vilseledande, och att det inte krävs en viss teknisk lösning för återkallelse. https://www.imy.se/globalassets/dokument/beslut/2025/tillsynsbeslut-aktiebolaget-trav-och-galopp.pdf
- PTS, beslut om Tele2, Dnr 22-11378, 2023-10-31 (tillsyn enligt 9 kap. 28 § lagen om elektronisk kommunikation): det ska gå att neka "på ett lika enkelt sätt och vid samma tillfälle och i samma vy" som att samtycka, och färger och kontraster får inte framhäva samtycket framför nekandet. https://pts.se/contentassets/7b02c828f0984bfba1d1614dc666ab1a/avslutsbeslut-dnr-22-11378-tele22.pdf
PTS har tillsyn över själva kakregeln i lagen om elektronisk kommunikation, IMY över dataskyddsförordningen (den behandling som följer).
Pluginet är ingen juridisk rådgivning. Du skriver själv integritetssidan och avgör vad som gäller för din sajt.
Installation
Tillägg > Lägg till nytt > Ladda upp tillägg, välj zip-filen och aktivera. Fyll i mätnings-ID under Inställningar > Spårning och lägg länken Cookieinställningar i sidfoten.
Avinstallation
När pluginet raderas tas inställningen wpu_sparning_settings bort. Besökarnas val ligger i deras egna webbläsare och går ut av sig självt.
Ändringslogg
1.0.0
- Första versionen.