Rotarydistrikt/Rotaryklubbar · ClubRunner CMS

DEL 1
GTM & GA4 konfiguration
för webbplatser med ClubRunner CMS

Steg-för-steg-instruktioner för korrekt webbanalys, anpassade för ClubRunners multi-domänarkitektur. Alla fältnamn i GTM och GA4 anges på engelska, exakt som de visas i respektive gränssnitt.

Anders Tihkan (Värmdö Skärgård RK)  ·  Uppdaterat 2026-08-18

Har du synpunkter på den här guiden? Lämna feedback — det hjälper oss att förbättra materialet.

Del 1 av 2  ·  Det här dokumentet beskriver hur GTM och GA4 konfigureras.
Del 2 — Trafikanalys och rapportering — beskriver hur insamlad data utvärderas och sammanställs till rapport.
Supportsidan om Trafikanalys beskriver varför mätningar och konfigurering behövs.

Ändringshistorik

2026-08-18Avsnitt 2h: normaliseringen i variabeln Canonical Page Location utökades till att även strippa avslutande snedstreck (/clubsmap//clubsmap), inte bara skiftläge. Har du redan implementerat 2h? Lägg till en rad i din befintliga variabel — se avsnittet för koden. Inga nya variabler, triggers eller taggar krävs, och inget annat steg i dokumentet påverkas.

2026-08-18Avsnitt 2h, Steg 2: förtydligat att page_location-parametern ska sättas under Configuration settings på Google-taggen — inte under Shared event settings, som tidigare felaktigt nämndes som synonymt. Shared event settings gäller bara GA4 Event-taggar och når aldrig den automatiska page_view. Kontrollera din uppsättning om du satte parametern före detta datum: står den under Shared event settings fortsätter skiftläge/snedstreck att dyka upp som separata rader i "Sidor och skärmar", trots att steg 1 och 2 såg klara ut.

Innehåll
  1. Ändringshistorik
  2. ClubRunner — registrera GTM-behållaren
  3. Google Analytics 4 — inställningar
  4. Google Tag Manager — taggar och triggers
  5. Kända begränsningar med ClubRunner
  6. Checklista
  7. Nationell portal — rotary.se (mäta vidareklick)

Varför ClubRunner kräver särskild konfiguration

ClubRunner använder fem separata domäner. Utan rätt konfiguration tolkar GA4 navigering mellan domänerna som externa besök och skapar nya sessioner med felaktiga trafikkällor. Alla fem måste behandlas som interna.

Publik sajt (alias)rotary[distrikt].se
Portal / CMS-backendportal.clubrunner.ca
Innehålls-APIcontent.clubrunner.ca
Admin-gränssnittadmin.clubrunner.ca
Medlems- och klubbdatacrsadmin.com

Filer som besökare laddar ned via ClubRunner hämtas dessutom från en separat blob-domän: clubrunner.blob.core.windows.net. Det kräver en egen trigger (se avsnitt 2g).

Ställ om GTM och GA4 till engelska

Alla menyval och fältnamn i dessa instruktioner är på engelska, exakt som de visas i gränssnitten. Följ stegen nedan för att säkerställa att du ser samma benämningar.

Google Tag Manager — lägg till ?hl=en i adressfältet:
https://tagmanager.google.com/?hl=en

Google Analytics 4 — lägg till ?hl=en i adressfältet:
https://analytics.google.com/?hl=en

För ett distrikt är det nödvändigt att konfigurera spårningen, se supportsidan om Trafikanalys.

Gäller det här också för klubb-sajt?

Motsvarande konfiguration kan göras för en ClubRunner-klubb. Tekniken är identisk — domäner, triggers och taggar fungerar på samma sätt. Skillnaden är att en typisk klubb-sajt har så liten trafikvolym att statistiska mätningar sällan ger meningsfulla resultat: segmenteringar, funnel-analyser och trafikkällefördelningar kräver tillräckligt många observationer för att mönstren ska vara tillförlitliga.

Flera av de avancerade taggarna i detta dokument är däremot värdefulla oavsett volym, eftersom de inte bygger på statistik utan ger en direkt lista över konkreta händelser — även en handfull observationer är användbara:

Dokumentnedladdningar (2f/2g)Vilka protokoll, stadgar eller blanketter klubbmedlemmar faktiskt hämtar.
Sökordsspårning (2i)Vad besökare letar efter — avslöjar innehåll som saknas eller är svårt att hitta i menyn.

Utöver dessa ger följande övergripande nyckeltal alltid ett bra underlag, oavsett trafikvolym:

TrendSessioner och användare över tid — ser trafiken ut att växa eller minska?
InnehållMest besökta sidor — vilket innehåll lockar besökare?
TrafikkällorOrganisk sökning, direkttrafik eller hänvisningar — hur hittar folk sajten?
EnhetstypMobil kontra dator — avgör om layouten fungerar för den faktiska publiken.
EngagemangAverage engagement time per session — stannar besökarna och läser?
AvvisningEngaged sessions-andel — andel besök där någon faktisk interaktion sker.

Rekommendation: sätt upp grundtaggen, dokumentnedladdning och sökordsspårning på en klubb-sajt oavsett volym — de kostar inget extra och ger direkt användbar data.

0

ClubRunner — registrera GTM-behållaren

0a

Fyll i Container ID i ClubRunners analysinställningar

ClubRunner måste känna till ditt GTM-behållar-ID för att injicera spårningskoden automatiskt på alla sidor. Utan detta når ingen data GTM eller GA4.

Sidan har två fält för spårning:

Avsnitt Fält Vad du ska göra
Google Analytics Stream ID Ska vara tomt — radera eventuellt befintligt värde.
Google Tag Manager Container ID Fyll i ditt Container ID, t.ex. GTM-XXXXXXX. Klicka sedan Spara.
Stream ID ska vara tomt — Om du fyller i ett GA4 Stream ID vid sidan av GTM dubbelregistreras all trafik: varje sidvisning syns som två separata träffar i GA4. Lämna fältet tomt och låt GTM hantera all spårning. Om du tidigare har spårat från ClubRunner direkt till GA4, fortsätt att använda samma GA4-kod i GTM.
1

Google Analytics 4 — inställningar

1a

Lägg till ClubRunners domäner som "Unwanted referrals"

Det här är den viktigaste inställningen för ClubRunner-sajter. Den förhindrar att trafik från ClubRunners egna domäner tolkas som externa besök och bryter pågående sessioner, och att klick till dessa domäner räknas som utgående externa länkklick.

1
Öppna GA4 Admin
Gå till analytics.google.com, välj rätt GA4-egendom, klicka på Admin (kugghjulsikonen längst ned i vänstermenyn).
2
Öppna Data Streams
Under "Property settings" → klicka Data Streams → klicka på din webbdataström (det ska stå din sajts URL).
3
Öppna Configure tag settings
Scrolla ned och klicka på Configure tag settings (blå länk längst ned i dataströmsvyn).
4
Öppna List unwanted referrals
Klicka på Show all om listan är ihopfälld, sedan på List unwanted referrals.
5
Lägg till domänerna
Klicka Add condition och lägg till en rad per domän. Välj match type "Domain contains" för varje. Spara med Save.
// Domain contains — lägg till en rad per domän: clubrunner.ca crsadmin.com clubrunner.blob.core.windows.net
Tips: Det räcker med clubrunner.ca för att täcka portal, content och admin-subdomänerna. Lägg gärna till dem ändå för tydlighet. clubrunner.blob.core.windows.net behöver läggas till separat — det är domänen ClubRunner hämtar sidfiler ifrån.
1b

Stäng av utgående klick i Enhanced Measurement

GA4 kan automatiskt spåra klick på utgående länkar via Enhanced Measurement. Eftersom vi hanterar det i GTM med ClubRunner-undantag (se avsnitt 2b) måste den inbyggda funktionen stängas av, annars skapas dubbla events.

Enhanced Measurement-funktion Inställning Kommentar
Page views ✅ On Alltid på
Scrolls ✅ On Triggar vid 90% scroll
Outbound clicks 🚫 Off Hanteras via GTM med ClubRunner-undantag
Site search Valfri (utan effekt) ClubRunner skickar aldrig sökordet som query-parameter — funktionen kan aldrig trigga här. Sökordsspårning hanteras helt via anpassad GTM-uppsättning, se avsnitt 2i
Video engagement ✅ On Fångar YouTube-inbäddningar
File downloads 🚫 Off Hanteras via GTM (2f/2g). Blob-filerna har filändelser och skulle annars dubbelräknas av den inbyggda spårningen
1c

Registrera custom dimensions för event-parametrar

Events som skapas i GTM kan skicka med parametrar (t.ex. vilken URL som klickades). Parametrarna syns inte automatiskt i GA4-rapporter — de måste registreras som "custom dimensions" för att bli sökbara och rapporterbara. Rapporterna byggs i nästa avsnitt 1d.

Skapa en rad per parameter:

Dimension name (valfritt) Scope Event parameter / User property Description (används av)
Link URL Event link_url outbound_click, bulletin_viewed
Link text Event link_text outbound_click, file_download (taggarna i 2f och 2g)
File name Event file_name file_download (taggarna i 2f och 2g)
Search term Event search_term view_search_results
Special Event Label Event special_event_label special_event (2j)
Obs: Det kan ta upp till 24 timmar innan custom dimensions börjar populeras i rapporter efter att de skapats. "Event parameter" är en dropdown — parametern search_term dyker upp i listan först efter att GA4 tagit emot den från en riktig sökning på den publicerade sajten. Registreringen är inte retroaktiv.
1d

Bygg en Utforskning med fem flikar för custom events

GA4:s standardrapporter visar totalantal per event men inte vad som klickades eller söktes. Det kräver en Utforskning (Explore). Bygg en gemensam utforskning med fem flikar — en per custom event — så att all detaljdata finns samlad på ett ställe. Inställningarna nedan är för att komma igång, ändra själv på inställningarna för att anpassa rapporterna ytterligare.

Kom igång

  1. Gå till Explore → Blank exploration.
  2. Namnge utforskningen, t.ex. Custom events [period].
  3. Öppna Variables-panelen (vänster) och klicka på + bredvid Dimensions resp. Metrics för att lägga till dessa gemensamma variabler för alla flikar:
    Dimensions: Event name Link text Link URL File name Search term Special Event Label Metric: Event count
  4. Skapa sedan fem flikar i ordning nedan. Varje flik konfigureras i Tab Settings-panelen (höger).
    Tips: Efter första rapporten, tryck på nerpilen i fliknamnet och duplicera fliken, då behöver du bara göra några mindre ändringar på nya flikens Settings. Redigera fliknamn genom att klicka i namnet.

Flik 1 — UTgående klick

Tab name: UTgående klick Rows: Link text // primär rad Link URL // nästlad rad Nested rows: Yes Show rows: 100 Filter: Event name exactly matches outbound_click Sort: Event count descending

Flik 2 — Sitesearch CR

Tab name: Sitesearch CR Rows: Search term Nested rows: No Show rows: 25 Filter: Event name exactly matches view_search_results

Flik 3 — Nedladdningar

Tab name: Nedladdningar Rows: Link text File name Nested rows: No Show rows: 50 Filter: Event name exactly matches file_download Sort: File name descending
Två triggers, ett event: taggen för 2f (dokumentsidor) och taggen för 2g (blob-filer) använder båda eventnamnet file_download. De syns som ett och samma event i rapporten — file_name innehåller full URL och skiljer källorna åt. Filtrera på clubrunner.blob.core.windows.net om du vill separera dem.

Flik 4 — Bulletin viewed

Tab name: Bulletin viewed Rows: Link text // primär rad Link URL // nästlad rad Nested rows: Yes Show rows: 100 Filter: Event name exactly matches bulletin_viewed
UUID inte läsbar? Varje /bulletin/View/[uuid] är unik för ett specifikt nyhetsbrev. Slå upp UUID:et i ClubRunner under Bulletins för att identifiera vilket utskick varje rad avser.

Flik 5 — Special Event

Tab name: Special Event Rows: Special Event Label Nested rows: No Show rows: 10 Filter: Event name exactly matches special_event Sort: Event count descending
Ingen nästlad URL-rad här, till skillnad från flik 1 och 4: varje etikett är per definition kopplad till en specifik, utvald länk (2j), så det uppstår aldrig flera URL-varianter under samma etikett. Relevant först när avsnitt 2j är konfigurerat — flikens filter matchar helt enkelt inga rader förrän dess.
1e

Referral-spam — domänlista och hostname-filter

Det finns två sorters referral-spam med helt olika mekanismer, och de kräver olika åtgärder.

Moderna MP-spammare (t.ex. leadsgo.io) injicerar falska sessioner direkt mot GA4:s insamlingsserver via Measurement Protocol — din gtag.js körs aldrig. Det innebär att "List unwanted referrals" inte har någon effekt: listan är en klientsidig kontroll som MP-spammen aldrig passerar. Sessionerna registreras ändå i GA4 med spamdomänen intakt som källa. Det enda effektiva skyddet mot MP-spam är Web hostname traffic-filtret (se nedan).

Crawlande spam (äldre bots, knapp- och trafikspam) besöker faktiskt sajten. Gtag.js laddas, och listan gör att spammens domän inte skrivs som referral-källa — sessionen hamnar under direct i stället för referral. Sessionen försvinner inte, men förvanskar inte trafikkällsrapporten.

Listan nedan är ändå värd att ha som bevakningsskikt för crawlande spam och e-postproxies. GA4 tillåter max 50 domäner per dataström — listan nedan innehåller ca 30.

Kända spamdomäner

Domän Notering
leadsgo.io Vanligast förekommande 2024–2025; "det nya Semalt"
semalt.com Klassisk spammare, aktiv sedan 2014
semalt.net Variant av ovan
trafficpeak.io Aktivt rapporterad 2024–2025
news.grets.store Aktivt rapporterad 2024–2025
static.seders.website Aktivt rapporterad 2024–2025
info.seders.website Variant av ovan
kar.razas.site Aktivt rapporterad 2024–2025

Knapp-/widget-spam (prioritet 2)

Utger sig för att komma från delade sociala knappar för att locka klick.

buttons-for-website.com
buttons-for-your-website.com
free-share-buttons.com
free-social-buttons.com
free-floating-buttons.com
floating-share-buttons.com
simple-share-buttons.com
share-buttons.xyz
social-buttons.com
social-widget.xyz

Trafik-spam (prioritet 2)

Domäner som säljer eller simulerar webbplatstrafik.

darodar.com
priceg.com
blackhatworth.com
makemoneyonline.com
ilovevitaly.com
econom.co
anticrawler.org
ghostvisitor.com
gammatraffic.com
traffic-cash.xyz
bot-traffic.xyz
trafficbot.life
free-traffic.xyz
bottraffic4free.club
rapidhits.net

E-post/nyhetsbrev-proxies att bevaka

Kan vara legitima — utred om du inte känner igen avsändaren innan du spärrar.

Domän Notering
url41.mailanyone.net E-postspårproxy — lägg till om du inte skickar nyhetsbrev via tjänsten
statics.teams.cdn.office.net Microsoft Teams länkförhandsgranskning — kan vara intern trafik
Nya spamdomäner tillkommer kontinuerligt. Rekommenderad rutin: granska Source/Medium-rapporten filtrerad på medium = referral en gång i månaden. Domäner med orealistiskt hög engagemangsgrad (>95 %) och lång sessionstid men noll konverteringar är typiska spamkännetecken.

Web hostname traffic — det effektiva skyddet mot MP-spam

GA4:s Web hostname traffic-filter filtrerar bort träffar där hostname inte matchar dina riktiga domäner. MP-spam saknar per definition ett giltigt hostname från din sajt, vilket gör filtret träffsäkert mot den typen av spamtrafik — till skillnad mot domänlistan ovan.

Filtret konfigureras under Admin → Data settings → Data filters. Aktivera det i testläge först och verifiera att ingen legitim trafik faller bort innan det sätts till aktivt läge.
1f

Koppla Google Search Console till GA4

Google Search Console (GSC) visar vilka söktermer i Google som leder besökare till sajten — det vill säga den inkommande söktrafiken. Det kompletterar sökordsspårningen i avsnitt 2i, som fångar vad besökare söker sajten när de väl är inne.

Förutsättning: Sajten måste redan vara verifierad i Google Search Console. Verifieringen görs enklast med ett HTML-metatag i GTM (Google-taggens Additional configuration → Custom fields → google-site-verification).
  1. Klicka på Link.
  2. Välj den Search Console-property som matchar sajten.
  3. Välj dataström och bekräfta.

När länken är aktiv visas data under Reports → Acquisition → Search Console med följande dimensioner:

Rapport Vad den visar
Queries Vilka söktermer i Google som genererade klick och visningar
Google organic search pages Vilka sidor som rankades, med antal klick, visningar, CTR och genomsnittlig position
2–3 dagars fördröjning. GSC-data i GA4 uppdateras inte i realtid — räkna med att de senaste dagarna saknas i rapporten.

2

Google Tag Manager — taggar och triggers

Ordning: Skapa alltid triggern (trigger) först, sedan taggen (tag) som refererar till den. Börja alltid med att aktivera nödvändiga inbyggda variabler (2a) innan du skapar triggers som bygger på klickdata.
2a

Aktivera inbyggda variabler för klickspårning

GTM har inbyggda variabler som fångar data om klick (vilken URL, vilken länktext etc.). De måste aktiveras manuellt innan de kan användas i triggers och taggar.

Bocka i följande under avsnittet "Clicks":

Click Element Click Classes Click ID Click Target Click URL Click Text

Stäng konfigurationspanelen (kryss uppe till höger). Variablerna är nu tillgängliga i alla triggers och taggar.

UI-tips: När du fyller i villkor i en trigger och klickar direkt från variabelfältet till värdefältet med musen, nollställs variabelvalet. Tryck istället Tab för att flytta fokus mellan fälten — det bevarar valet.
2b

Google-tagg — GA4-grundkonfiguration

Den centrala taggen som initierar GA4. Alla andra GA4-event-taggar refererar till denna. Den ska vara av typen Google tag (inte den äldre "GA4 Configuration").

1
Välj taggtyp
Klicka "Tag Configuration" → välj Google tag (inte "Google Analytics: GA4 Event").
2
Ange Tag ID
Fyll i ditt GA4 Measurement ID, format G-XXXXXXXXXX. Hittas i GA4 under Admin → Data Streams → din ström. Om du redan använder GA4, fortsätt med samma ID även om spårningen går via GTM.
3
Sätt trigger
Klicka "Triggering" → välj Initialization – All Pages. Notera: det är inte "All Pages (Page View)" — Google-taggen måste initieras tidigt i sidladdningen.
4
Ge taggen ett namn och spara
Döp taggen till t.ex. Google Analytics. Spara med Save.
2c

Microsoft Clarity — tagg

Microsoft Clarity är ett kostnadsfritt verktyg för session recording och heatmaps. Det kan också fungera som ett oberoende mått att jämföra med GA4-siffror, bl.a. för att uppskatta bortfall från nekade cookies.

Clarity-projekt-ID hittas under Settings → Setup → Get tracking code i Microsoft Clarity clarity.microsoft.com. Det är en kort alfanumerisk sträng, t.ex. abc123xyz.

Obs: Microsoft Clarity finns som färdig taggmall i GTM:s mallgalleri. Sök på "Clarity" under Tag Configuration → välj mallen från Microsoft. Då behöver du bara klistra in Clarity-projekt-ID:t i ett fält och inte hantera HTML-koden nedan manuellt. Om mallen saknas, använd Custom HTML-alternativet.

Alternativ A — Clarity-mall (rekommenderas)

Tag type: Microsoft Clarity (från mallgalleriet) Project ID: DITT_CLARITY_PROJEKT_ID Trigger: Initialization – All Pages

Alternativ B — Custom HTML

Tag type: Custom HTML Trigger: Initialization – All Pages // HTML att klistra in: <script type="text/javascript"> (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1; t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0]; y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "DITT_CLARITY_PROJEKT_ID"); </script>
2d

Utgående länkklick — trigger och tagg

Registrerar klick på externa länkar. ClubRunners egna domäner, bulletin-länkar och sid-filnedladdningar måste exkluderas så att de inte räknas som externa eller dubbelräknas mot nedladdningstaggarna.

Steg 1 — Skapa trigger

Trigger type: Click – Just Links This trigger fires on: Some Link Clicks // Villkor — triggar när ALLA är uppfyllda: // Gate: bara verkliga http(s)-länkar – stoppar filter-/JS-länkar utan href {{Click URL}} matches RegEx ^https?:// // Byt ut rotary[distrikt].se mot din publika domän: {{Click URL}} does not start with https://rotary[distrikt].se {{Click URL}} does not start with https://portal.clubrunner.ca {{Click URL}} does not start with https://content.clubrunner.ca {{Click URL}} does not start with https://admin.clubrunner.ca {{Click URL}} does not contain crsadmin.com {{Click URL}} does not contain clubrunner.blob.core.windows.net {{Click URL}} does not contain /bulletin/View/ {{Click URL}} does not contain view.officeapps.live.com Trigger name: Outbound link click
Varför blob-domänen och Office Viewer exkluderas: Filer i "Dokument"-widgeten serveras från clubrunner.blob.core.windows.net och fångas redan av nedladdningstaggen i avsnitt 2g. Utan denna rad skulle samma klick även utlösa outbound_click och dubbelräknas som externt. view.officeapps.live.com läggs till som defensivt undantag: Word-, Excel- och PowerPoint-dokument i /documents/sv-se/ täcks redan av triggern i 2f (ClubRunners href pekar alltid på rotary2405.se och omdirigeringen sker server-side), men om en länk av misstag hårdkodas direkt till Office Viewer fångas den ändå inte som outbound_click.
Viktigt: Varje rad är ett eget villkor. Klicka "+ Add condition" för varje ny rad. Alla villkor i listan måste uppfyllas samtidigt för att triggern ska aktiveras — det är korrekt beteende här.
Varför RegEx-raden behövs: En trigger som bara har negativa villkor ("does not…") aktiveras felaktigt av länkar utan riktig href — t.ex. ClubRunners "Filter"-knapp på evenemangssidan, som filtrerar via JavaScript. Då blir {{Click URL}} tom, och en tom sträng uppfyller alla negativa villkor samtidigt. Villkoret Click URL matches RegEx ^https?:// kräver en verklig http(s)-adress och släcker den falska träffen. (Triggrarna 2e–2g drabbas inte, eftersom de bygger på positiva contains/starts with-villkor.)

Steg 2 — Skapa tagg

Tag type: Google Analytics: GA4 Event Configuration: [välj din Google tag] Event name: outbound_click Event parameters: Parameter name: link_url Value: {{Click URL}} Parameter name: link_text Value: {{Click Text}} Trigger: Outbound link click Tag name: GA4 – Outbound link click
2e

Nyhetsbrevvisning (bulletin) — trigger och tagg

ClubRunner inkluderar inte GTM på /bulletin/View/-sidor. Lösningen är att fånga klicket på länken i ursprungssessionen istället, vilket ger ett event knutet till den aktiva sessionen.

Triggern måste också läggas till som undantag i "Outbound link click"-triggern (avsnitt 2d) så att bulletin-klick inte räknas dubbelt.

Skiftlägeskänsligt: ClubRunner använder stort V i URL:en: /bulletin/View/. Fel skiftläge i villkoret gör att triggern aldrig aktiveras.

Steg 1 — Skapa trigger

Trigger type: Click – Just Links This trigger fires on: Some Link Clicks {{Click URL}} contains /bulletin/View/ Trigger name: Bulletin-view

Steg 2 — Skapa tagg

Tag type: Google Analytics: GA4 Event Configuration: [välj din Google tag] Event name: bulletin_viewed Event parameters: Parameter name: link_url Value: {{Click URL}} Trigger: Bulletin-view Tag name: GA4 – Bulletin view
2f

Dokumentnedladdning — trigger och tagg

Fångar klick på ClubRunners dokumentlänkar (filer i Dokument). Matcha på sökvägen /documents/sv-se/ i URL:en i stället för filtypsändelse — ClubRunners dokumentlänkar har inte alltid en filändelse, och sökvägsmatchning är enklare och mer robust.

Steg 1 — Skapa trigger

Trigger type: Click – Just Links This trigger fires on: Some Link Clicks {{Click URL}} contains /documents/sv-se/ // Matchar ClubRunners dokumentsidor – enklare och mer specifik än RegEx Trigger name: Document download
Täcker automatiskt Office-dokument: ClubRunner använder samma URL-mönster (/documents/sv-se/) i href-attributet för alla dokumenttyper — PDF, Word, Excel och PowerPoint. Omdirigeringen till Microsoft Office Online Viewer (view.officeapps.live.com) sker server-side efter klicket; GTM fångar href-attributet före omdirigeringen. Ingen separat trigger behövs för Office-dokument. Händelser som syns i GA4 som utgående klick till view.officeapps.live.com är en artefakt av Enhanced Measurement och försvinner när Outbound clicks stängs av (avsnitt 1b).

Steg 2 — Skapa tagg

Tag type: Google Analytics: GA4 Event Configuration: [välj din Google tag] Event name: file_download Event parameters: Parameter name: file_name Value: {{Click URL}} Parameter name: link_text Value: {{Click Text}} Trigger: Document download Tag name: GA4 – Document download
2g

Nedladdning av sidfiler via ClubRunner blob-lagring — trigger och tagg

Filer som är uppladdade i widgeten Download Page Files lagrar ClubRunner på en separat domän: clubrunner.blob.core.windows.net. Dessa filer ligger under ett sökvägsprefix som inleds med distriktets/klubbens ClubRunner-ID (t.ex. /00000060099/). Eftersom det ID:t är unikt för distrikt/klubb räcker det som matchning — triggern blir då oberoende av språk- och mappstruktur. De kräver en separat trigger eftersom domänen skiljer sig från din publika sajt.

Blob-domänen måste också vara med i undantagen i "Outbound link click"-triggern (avsnitt 2d) så att dessa nedladdningar inte samtidigt räknas som externa klick.

Vad är skillnaden mot 2f? Båda triggrarna matchar på sökväg, inte filtyp. 2f fångar dokumentlänkar på din egen domän (/documents/sv-se/), medan 2g fångar filer som ClubRunner serverar från blob-lagringen på en annan domän (clubrunner.blob.core.windows.net/[org-ID]/). De ligger på olika domäner och behöver därför var sin trigger.

Steg 1 — Skapa trigger

Trigger type: Click – Just Links This trigger fires on: Some Link Clicks {{Click URL}} starts with https://clubrunner.blob.core.windows.net/00000060099/ // Org-ID:t är unikt för ditt distrikt/din klubb och räcker som matchning – inget mer behövs i sökvägen. // Byt ut 00000060099 mot ditt distrikt/klubb-ClubRunner-organisations-ID. // Ditt ClubRunner-ID ser du som inloggad, i adressfältet: https://admin.clubrunner.ca/[ID]/ Trigger name: Page file download

Steg 2 — Skapa tagg

Tag type: Google Analytics: GA4 Event Configuration: [välj din Google tag] Event name: file_download Event parameters: Parameter name: file_name Value: {{Click URL}} Parameter name: link_text Value: {{Click Text}} Trigger: Page file download Tag name: GA4 – Page file download
Obs: Båda nedladdningstaggarna (2f och 2g) använder samma event-namn file_download. I GA4 visas de som ett samlat mått under Engagement → Events. Parametern file_name innehåller full URL och du kan filtrera på domän för att skilja dem åt i rapporter.
2h

Konsolidera sidvisningar: omdöpta sidor, skiftläge och avslutande snedstreck (canonical-sökväg)

GA4 grupperar sidvisningar på page_location (den faktiska URL:en). På ClubRunner gör det att samma sida ofta splittras på flera rader av tre skäl: omdöpta sidor nås via en gammal alias-URL parallellt med den rena adressen, skiftläge i sökvägen (/Events vs /events, /ClubInfo/… vs /clubinfo/…) skapar dubbletter, och avslutande snedstreck gör detsamma (/clubsmap/ vs /clubsmap). Variabeln nedan åtgärdar alla tre.

När en sida byter namn låter ClubRunner den gamla adressen fortsätta fungera — men utan 301-omdirigering. Innehållet serveras på en lång alias-URL, t.ex. /60099/Page/Show?ClassCode=Page&Slug=…, parallellt med den rena /page/<slug>. Resultatet blir två sidor i rapporten för samma innehåll.

Två fällor: (1) alias-URL:en 301-omdirigerar inte — den svarar 200 — så GA4 registrerar båda adresserna som varsin sida. (2) canonical-taggen på alias-sidan pekar mot fel värd: portal.clubrunner.ca i stället för den publika domänen. Kopierar du därför canonical rakt av till page_location får du en portal.clubrunner.ca-rad i stället.

Så här ser det faktiskt ut för samma sida nådd via två ingångar:

Ingång (URL du klickar) Canonical som ClubRunner skickar
rotary2405.se/page/support-logga-in-hjälp https://rotary2405.se/page/support-logga-in-hjälp
rotary2405.se/60099/Page/Show?…&Slug=support-logga-in-hjälp https://portal.clubrunner.ca/page/support-logga-in-hjälp ❌ fel värd

Poängen: sökvägen /page/support-logga-in-hjälp är identisk i båda canonical — det är bara värden som skiljer. Därför bygger variabeln page_location av canonical-sökvägen (rätt i båda fallen) men sätter den alltid på den publika domänen via location.origin.

Steg 1 — Variabel som bygger ren page_location

Variable type: Custom JavaScript Variable name: Canonical Page Location function() { var keep = ['utm_source','utm_medium','utm_campaign','utm_term', 'utm_content','utm_id','gclid','gbraid','wbraid', 'dclid','gclsrc','fbclid','msclkid','srsltid']; var path; try { var c = document.querySelector('link[rel="canonical"]'); path = c && c.href ? new URL(c.href).pathname : location.pathname; } catch (e) { path = location.pathname; } path = path.toLowerCase(); // ClubRunner är skiftlägesokänsligt – slår ihop /Events, /ClubInfo/… osv if (path.length > 1 && path.charAt(path.length - 1) === '/') path = path.slice(0, -1); // avslutande snedstreck – /clubsmap/ och /clubsmap är samma sida if (/^\/page\/showhomepage\/?$/.test(path)) path = '/'; // hemsidans interna route → roten var loc = location.origin + path; // publik domän + canonical-sökväg var src = new URLSearchParams(location.search); var out = new URLSearchParams(); keep.forEach(function(k){ if (src.has(k)) out.set(k, src.get(k)); }); var qs = out.toString(); return qs ? loc + '?' + qs : loc; }

Canonical-sökvägen (omdöpta sidor). Variabeln tar sökvägen ur canonical-taggen (samma rena /page/<slug> oavsett om besökaren kom in via alias-URL:en eller den rena adressen), sätter den på den publika domänen via location.origin, och behåller bara kampanjparametrar (utm_*, gclid m.fl.) så att attributionen överlever.

Skiftlägeskorrigering. Raden path = path.toLowerCase() gör sökvägen gemen — ClubRunner är skiftlägesokänsligt, så /Events, /ClubInfo/… och /ClubsMap slås ihop med sina gemena varianter. I ett års rådata för rotary2405.se, perioden precis innan GTM-uppstädningen (2025-03-01–2026-02-28), låg 12 681 av periodens 30 942 visningar (41 %) fördelade på 207 sådana dubblettgrupper — /clubinfo/* var ofta splittrat i tre–fyra skiftlägesvarianter. Lowercasingen normaliserar samtidigt %-kodningens skiftläge (%C3%A4%c3%a4). Eftersom bara sökvägen görs gemen påverkas inte kampanjparametrarnas värden.

Avslutande snedstreck. Raden som strippar ett eventuellt sista / (utom på roten, som lämnas orörd) slår på samma sätt ihop /clubsmap/ med /clubsmap — ClubRunner svarar identiskt oavsett om sökvägen avslutas med snedstreck eller inte. I samma årsdata stod trailing slash-dubbletter för ytterligare 10 664 visningar fördelade på 106 grupper. Kombinerat slår skiftläges- och snedstreckskorrigeringen tillsammans ihop 259 dubblettgrupper — 16 837 av periodens 30 942 visningar (54 %). Ett konkret exempel: /ClubsMap, /clubsmap och /clubsmap/ var tre separata rader i rapporten trots att alla pekar på samma sida — tillsammans 1 287 visningar.

Förutsättning för normaliseringen: detta är säkert just för att ClubRunner serverar samma sida oavsett skiftläge och avslutande snedstreck i URL:en. På en server där sökvägar är känsliga för endera skulle motsvarande rad kunna slå ihop två olika sidor — då skulle den raden inte kunna användas.
Specialfall hemsidan: ClubRunner serverar hemsidan på två live-adresser — den rena roten / och den interna routen /page/showhomepage (dit logotyp-/"Hem"-länkar ofta går). Båda har självrefererande canonical, så canonical ensam slår inte ihop dem; därför tvingar if-raden i variabeln /page/showhomepage till roten. Den bara routen /60099/Page/Show utan ?…&Slug= är däremot en felsida ("Kontot hittas inte", soft 404) — den ska inte normaliseras bort. Dyker den upp i rapporterna är det en nyttig signal om trasiga länkar (larma t.ex. på page_title som innehåller "General Error").

Steg 2 — Skriv över page_location i Google-taggen

Öppna Google-taggen från avsnitt 2b. Under Configuration settings klicka Add parameter och fyll i:

Configuration parameter: page_location Value: {{Canonical Page Location}}
Skiftlägeskänsligt fältnamn. Parameternamnet måste skrivas exakt page_location — helt gement. GA4:s inbyggda fält heter så; skriver du Page_location (stort P, en vanlig instinkt eftersom GTM:s eget UI-fält heter "Page location") känner GA4 inte igen det som det reserverade fältet. Det skapas i stället en helt egen, oanvänd anpassad parameter, och page_location förblir opåverkad — overriden ser konfigurerad ut men gör ingenting.
Effekt: Den automatiska page_view och alla GA4-event som ärver Google-taggen rapporteras nu på den rena sökvägen, oavsett vilken alias-URL besökaren kom in på. Eftersom kampanjparametrarna behålls påverkas inte trafikkällorna.
Verifiera i Network-fliken: besök en sida med känt skiftläge i inkognito (t.ex. /ClubsMap), filtrera Network-fliken på collect och kontrollera dl-parametern i GA4-anropet. Står sökvägen där med gemener är overrideen korrekt kopplad; står den kvar i originalskiftläge sitter parametern fortfarande på fel ställe eller så är containerversionen inte publicerad.
2i

Sökrutan i header — spåra sökord (site search)

ClubRunners inbyggda sökruta (fältet med id="searchString" i sidhuvudet) skickar inte sökordet som en query-parameter (?q=…), vilket är vad GA4:s Enhanced Measurement förväntar sig. Istället navigerar ClubRunner till en sökväg på formen /Search/<sökord>. Det innebär att sökordet måste extraheras ur sökvägen med en Custom JavaScript-variabel.

Bekräftat beteende: Innan URL-kodning ersätter ClubRunner tecknen . % ? : / + * & " med platshållarna -~0- till -~8-. Variabeln nedan återställer dessa till originaltecken.

Steg 1 — Variabel som extraherar sökordet

Variable type: Custom JavaScript Variable name: JS-sitesearch CR function() { var path = window.location.pathname; var match = path.match(/^\/[Ss]earch\/(.+)$/); if (!match) return undefined; var term = decodeURIComponent(match[1]); // Återställ ClubRunners platshållare till originaltecken (se doSearch()) var replacements = [ ['-~0-', '.'], ['-~1-', '%'], ['-~2-', '?'], ['-~3-', ':'], ['-~4-', '/'], ['-~5-', '+'], ['-~6-', '*'], ['-~7-', '&'], ['-~8-', '"'] ]; for (var i = 0; i < replacements.length; i++) { term = term.split(replacements[i][0]).join(replacements[i][1]); } return term; }

Steg 2 — Trigger

Trigger type: Page View This trigger fires on: Some Page Views {{Page Path}} matches RegEx ^/[Ss]earch/ Trigger name: CR-sitesearch

Steg 3 — Tagg

Tag type: Google Analytics: GA4 Event Configuration: [välj din Google tag] Event name: view_search_results // GA4:s rekommenderade eventnamn för sökningar Event parameters: Parameter name: search_term Value: {{JS-sitesearch CR}} Trigger: CR-sitesearch Tag name: GA4 – sitesearch CR
UI-fälla i eventSettingsTable: när du fyller i parameter-värdet, skriv {{ och välj variabeln ur listan som poppar upp — bekräfta med Tab eller klick utanför fältet. Om du klickar direkt från variabelfältet till värdefältet med musen nollställs valet.
2j

Special Event — utvalda länkar och knappar med egen etikett

Utöver de generella kategorierna ovan (utgående klick, nedladdningar, sökning) vill man ibland följa enskilda, utvalda länkar eller knappar individuellt i rapporter — t.ex. en anmälningslänk — med en läsbar etikett i GA4 (t.ex. "Intresseanmälan") i stället för bara länkadressen. Ett gemensamt eventnamn, special_event, används för alla dessa, oavsett hur många olika länkar/knappar som spåras. Nya specialevent kräver normalt ingen ny trigger eller tagg — bara en radändring i en av två delade komponenter. På ClubRunner webbsidor finns länkarna i tre huvudtyper, beroende på vilken widget som används för länken:

ClubRunner-widget Vad som går att redigera Matchas via
Textwidget (länk i löpande text) Bara länktext, ingen HTML URL-lista (Special Event – Link List)
Knapp-widget ("Bara en knapp") Knapptext och länkadress, ingen HTML URL-lista (Special Event – Link List)
Custom widget Fri HTML, inkl. attribut data-ga-label-attribut (Special Event – Attribute)
Knapp-widgeten lägger till ett efterföljande mellanslag i länkadressen (t.ex. href="https://exempel.se "), vilket gör att ett exakt equals-villkor missar träffen. RegEx-matchningen som används i konfigurationen nedan kräver ingen exakt slutmatchning och påverkas därför inte av mellanslaget.

Rekommenderad lösning: data-ga-label i Custom widget

Använd det här mönstret när länken/knappen ligger i en Custom widget (HTML-redigerbar) — enklast, och kräver ingen framtida GTM-ändring.

Exempel på kod med blå knapp som växlar färg vid mouse-over (samma stil och färger som ClubRunners Läs mer-knappar) vars etikett (Intresseanmälan) syns tydligt i GA4-rapporten:

<a href="https://exempel.se" data-ga-label="Intresseanmälan" onmouseout="this.style.backgroundColor='#0083EF'" onmouseover="this.style.backgroundColor='#0067BC'" style="display:inline-block; background-color:#0083EF; color:#ffffff; padding:4px 10px; border-radius:4px; text-decoration:none; font-weight:bold; font-family:Arial, sans-serif;" target="_blank">Fyll i här och skicka in ...</a>

Textwidget och knapp-widget saknar HTML-redigering och kan inte bära attributet — då används metoden i "Konfigurera ditt första specialevent" nedan i stället.

Grundinstallation — byggs en gång, oavsett vilken variant som används

Steg 1 — Variabel: Click Data Label

Variable type: Element Attribute Attribute Name: data-ga-label Variable name: Click Data Label

Steg 2 — Variabel: Special Event Label Lookup (skapas tom)

Input Variable: {{Click URL}} // Lägg inte till någon rad ännu — en tom tabell är riskfri, // den returnerar bara "inget värde" tills rader finns. Set Default Value: avbockad Variable name: Special Event Label Lookup

Steg 3 — Variabel: Special Event Label (fallback-kedja)

Variable name: Special Event Label function() { // 1. Custom widget: attributet vinner alltid if ({{Click Data Label}}) return {{Click Data Label}}; // 2. Textwidget/knapp-widget: slå upp i listan var l = {{Special Event Label Lookup}}; if (l) return l; // 3. Sista utväg: synlig länktext/knapptext return {{Click Text}}; }

Steg 4 — Trigger: Special Event – Attribute

Trigger type: Click – All Elements This trigger fires on: Some Clicks {{Click Element}} matches CSS selector [data-ga-label] Trigger name: Special Event – Attribute

Konfigurera ditt första specialevent

Vilket av stegen nedan som gäller beror på widgettypen (se tabellen ovan) — grundinstallationen fungerar likadant oavsett om ditt första fall har en etikett eller inte.

Om Custom widget (etikett): lägg till data-ga-label i HTML-koden enligt exemplet högst upp. Inget mer att göra — Special Event – Attribute fångar den automatiskt.

Om textwidget eller knapp-widget (ingen etikett möjlig):

Steg 5 — Lägg till en rad i Special Event Label Lookup

Input: din länks fullständiga URL Output: önskad etikett, t.ex. "Intresseanmälan"

Steg 6 — Trigger: Special Event – Link List

Trigger type: Click – Just Links This trigger fires on: Some Link Clicks {{Click URL}} matches RegEx (din URL) Trigger name: Special Event – Link List

Steg 7 — Tagg: GA4 – Special Event

Tag type: Google Analytics: GA4 Event Configuration: [välj din Google tag] Event name: special_event Event parameters: Parameter name: special_event_label Value: {{Special Event Label}} Parameter name: link_url Value: {{Click URL}} Parameter name: link_text Value: {{Click Text}} Trigger: Special Event – Attribute och/eller Special Event – Link List — båda om du redan nu har fall av båda typerna Tag name: GA4 – Special Event

Steg 8 — GA4: registrera custom dimension

Dimension nameScopeEvent parameterDescription
Special Event LabelEventspecial_event_labelspecial_event
special_event påverkar inte räkningen av utgående klick. Special event-länkar kan vara både interna och externa. En extern special event-länk är genuint ett utgående klick och ingår redan naturligt i den totalen i "Outbound link click" (2d) — den räknas inte extra eller annorlunda för att den även är ett specialevent. En intern special event-länk berörs inte alls av 2d, eftersom den triggern bara matchar externa domäner.

Update — lägga till fler specialevent senare

  • Custom widget (med etikett): lägg till data-ga-label="etikett" i HTML-koden. Klart, ingen GTM-ändring.
  • Textwidget/knapp-widget (utan etikett): lägg till en rad i Special Event Label Lookup. Finns triggern Special Event – Link List redan (steg 6): lägg till |nyURL sist i RegEx-uttrycket. Finns den inte än: skapa den enligt steg 6, och koppla den till taggen GA4 – Special Event.
2k

Testa och publicera

Publicera aldrig ändringar utan att testa dem i GTM:s Preview-läge. Varje osparad ändring i arbetsytan är en "Draft" — det är först efter publicering som ändringarna blir aktiva och skickar data vidare till GA4.

1
Starta Preview-läge
Klicka Preview (uppe till höger i GTM). Ange din sajts URL och klicka Connect. En ny flik öppnas med sajten, och GTM Tag Assistant-panelen visas. Startade du om Preview efter en ändring och det ändå inte triggar? Avsluta och starta om Preview helt — en pågående session speglar inte alltid sparade ändringar.
2
Testa varje trigger
Klicka på en extern länk → kontrollera att "GA4 – Outbound link click" syns i "Tags Fired". Klicka på en bulletin-länk → "GA4 – Bulletin view". Klicka på en länk till fil från Dokument → "GA4 – Document download" och på en länk till en sidfil (i widgeten Page Download Files) "GA4 – Page file download". Klicka på ett specialevent → "GA4 – Special Event".
3
Verifiera i GA4 DebugView
I GA4: Admin → DebugView. Events ska dyka upp inom några sekunder. Kontrollera att event-parametrar (link_url, file_name) är rätt ifyllda.
4
Publicera behållaren
Avsluta Preview. Klicka Submit (uppe till höger) → Publish. Ge versionen ett beskrivande namn, t.ex. "GA4 + Clarity + outbound + bulletin + downloads".
5
Vänta 24–48 timmar
GA4 Realtime-rapporten uppdateras direkt. Standardrapporter under Engagement → Events tar upp till 48 timmar att populera.

3

Kända begränsningar med ClubRunner

3a

Sidor utan GTM-täckning

ClubRunner lägger inte in GTM-kod i nedanstående sidtyper. De registreras därför inte som sidvisningar i GA4, men vi kompenserar med click events.

URL-mönster Innehåll Kompensation
/bulletin/View/[uuid] Nyhetsbrev ✅ Klick-event i ursprungssessionen (avsnitt 2e)
/documents/[uuid] Dokumentvisning ✅ Nedladdnings-event (avsnitt 2f/2g)
3b

GTM Tag Coverage — tolka rapporten rätt

GTM:s inbyggda "Tag Coverage"-rapport (Admin → Tag Coverage) visar hur många sidor som saknar GTM-taggning. För ClubRunner-sajter ser siffran dramatisk ut, men majoriteten av de otaggade sidorna är bulletin-sidor, dokumentsidor och interna adminsidor — inte primärt publikt innehåll. Rapporten uppdateras automatiskt när GTM-behållaren publiceras eller när besökare genererar ny trafik.

Om det visar sig sidor förblir otaggade trots trafik, kolla först med Google Tag Assistant om sidan har GTM-kod. Om kod saknas, felanmäl till ClubRunner support.

Checklista — snabbsammanfattning

Google Analytics 4

  • List unwanted referrals: lägg till clubrunner.ca, crsadmin.com, clubrunner.blob.core.windows.net — plus referral-spam-listan i avsnitt 1e
  • Enhanced Measurement: stäng av Outbound clicks och File downloads
  • Custom dimensions (Event scope): link_url, link_text, file_name, search_term, special_event_label
  • Utforskning "Custom events [period]" med fem flikar: UTgående klick, Sitesearch CR, Nedladdningar, Bulletin viewed, Special Event (avsnitt 1d)
  • Verifiera events i DebugView efter publicering

Google Tag Manager — 8 taggar

  • Google tag (GA4) — trigger: Initialization – All Pages
  • Microsoft Clarity — trigger: Initialization – All Pages
  • GA4 Event: outbound_click — gate ^https?:// + exkludera ClubRunner-domäner och /bulletin/View/
  • GA4 Event: bulletin_viewed — klick på /bulletin/View/
  • GA4 Event: file_download (2f) — sökvägstrigger för /documents/sv-se/
  • GA4 Event: file_download (2g) — blob-URL-trigger för ClubRunner-sidfiler
  • GA4 Event: view_search_results — regex ^/[Ss]earch/ på sökväg
  • GA4 Event: special_event (2j) — Click Element [data-ga-label] eller URL-lista, etikett via fallback-kedja

4

Nationell portal — rotary.se (mäta vidareklick)

rotary.se är den nationella Rotary-portalen vars syfte DG-kollegiet för de svenska distrikten har bestämt till att slussa besökare vidare till distrikten och till andra Rotarysajter (t.ex. rotarystudent.se, rotaryfoundation.se).
Här är utgående klick den primära mätpunkten. Avsnittet är komplett och kan följas fristående för en portal.

Principskillnaden mot distrikt/klubb

På en webbplats för distrikt eller klubb dämpar du utgående brus och håller alla ClubRunner-domäner interna. På portalen vill du tvärtom räkna klicken ut till distrikt och andra Rotarysajter. De är äkta externa sajter med egna GA4-egendomar — de ska därför inte läggas i unwanted referrals och inte undantas i triggern. Endast ClubRunners egen infrastruktur hålls intern.

4a

GA4 — List unwanted referrals (endast ClubRunner-infrastruktur)

Eftersom portalen själv kör ClubRunner ska dess egen infrastruktur hållas intern, precis som för distrikt/klubb.

// Domain contains — lägg till en rad per domän: clubrunner.ca crsadmin.com clubrunner.blob.core.windows.net
4b

GA4 — Enhanced Measurement och custom dimensions

Stäng av Outbound clicks i Enhanced Measurement (samma skäl som avsnitt 1b — vi hanterar utgående klick i GTM för att kunna skicka med måldomänen). Övriga Enhanced Measurement-funktioner kan stå kvar på.

Registrera custom dimensions så att klick går att rapportera per sajt:

Dimension name Scope Event parameter / User property Syfte
Link domain Event link_domain Måldomän — bryt ner klick per sajt
Link URL Event link_url Full destinations-URL
Link text Event link_text Länktexten som klickades
Obs: link_domain är det som skiljer portaluppsättningen från distrikt/klubb — det är den dimension du grupperar rapporten på.
4c

GTM — grundtaggar Google tag och Clarity, plus omdöpta sidor

Detaljerade klicksteg finns i avsnitt 2b (Google tag) och 2c (Clarity).
Lägg också in konsolideringen av omdöpta sidor (avsnitt 2h), inklusive page_location-omskrivning i portalens Google-tagg.

// Google tag — initierar GA4 Tag type: Google tag Tag ID: G-XXXXXXXXXX (rotary.se:s egen Measurement-ID) Trigger: Initialization – All Pages Tag name: Google Analytics // Microsoft Clarity (valfritt – session recording + cookieless korsmått) Tag type: Microsoft Clarity (från mallgalleriet) Project ID: DITT_CLARITY_PROJEKT_ID Trigger: Initialization – All Pages
4d

GTM — variabel som plockar ut måldomänen

Aktivera först de inbyggda klickvariablerna (Click URL, Click Text m.fl.) enligt avsnitt 2a. Skapa sedan en variabel som extraherar enbart värdnamnet ur den klickade länken, så att rapporten kan grupperas per sajt i stället för per full URL.

Variable type: Custom JavaScript Variable name: Click URL Hostname function() { try { return new URL({{Click URL}}).hostname.replace(/^www\./, ''); } catch (e) { return undefined; } }

Variabeln returnerar t.ex. rotary2405.se eller rotarystudent.se och tar bort inledande www. så att samma sajt inte splittras på två rader.

4e

GTM — trigger och tagg för vidareklick

Ett enda event som triggas på alla länkar som lämnar rotary.se. Det skalar automatiskt när nya distrikts- eller andra sajter tillkommer — ingen lista att underhålla.

Steg 1 — Skapa trigger

Trigger type: Click – Just Links This trigger fires on: Some Link Clicks // Triggar på alla länkar som lämnar rotary.se: // Gate: bara verkliga http(s)-länkar – stoppar filter-/JS-länkar utan href {{Click URL}} matches RegEx ^https?:// {{Click URL}} does not start with https://rotary.se {{Click URL}} does not start with https://www.rotary.se {{Click URL}} does not contain clubrunner.ca {{Click URL}} does not contain clubrunner.blob.core.windows.net {{Click URL}} does not contain crsadmin.com Trigger name: Portal outbound click
Varför fungerar undantaget? Villkoret är "does not start with" — https://rotary2325.se börjar inte med https://rotary.se, så klick till distriktssajterna hindras inte utan räknas som vidareklick. Raden med https://www.rotary.se är en säkerhetsrad: om portalen nås via www-adressen ska interna länkar inte räknas som utgående. ClubRunner-domänerna exkluderas dessutom så att klick till t.ex. inloggningen (portal.clubrunner.ca) inte räknas som vidareklick.

Steg 2 — Skapa tagg

Tag type: Google Analytics: GA4 Event Configuration: [välj din Google tag] Event name: outbound_click Event parameters: Parameter name: link_url Value: {{Click URL}} Parameter name: link_text Value: {{Click Text}} Parameter name: link_domain Value: {{Click URL Hostname}} Trigger: Portal outbound click Tag name: GA4 – Portal outbound click
4f

GA4 — Bygg en Utforskning för portaltrafik

Portalen behöver en egen Utforskning som visar vidareklick till distrikt och andra sajter. Konfigurationen är enklare än "Custom events" eftersom eventet är ett — outbound_click — men med link_domain som primär dimension för att bryta ned klick per målsajt.

Kom igång

  1. Gå till Explore → Blank exploration.
  2. Namnge utforskningen Portaltrafik.
  3. Lägg till dessa gemensamma variabler i Variables-panelen:
    Dimensions: Event name Link domain Link URL Metric: Event count
  4. Skapa sedan två flikar i ordning nedan.

Flik 1 — Event sum

Överskådlig bild av alla event-typer — ger en snabb bild av trafiken utan filter.

Tab name: Event sum Rows: Event name Nested rows: No Show rows: 50 Cell type: Bar chart // Inga filter — visar alla event-typer

Flik 2 — UTgående klick

Klick nedbrutet per målsajt och URL — det primära rapportverktyget för portalen.

Tab name: UTgående klick Rows: Link domain // primär rad — grupperar per sajt Link URL // nästlad rad — visar specifik sida Event name // bekräftar att det är outbound_click Nested rows: Yes Show rows: 50 Cell type: Bar chart Filter: Event name exactly matches outbound_click
Avgränsa till rotary-nätverket: taggen fångar alla utgående klick (även Facebook, rotary.org m.m.). Vill du bara följa de svenska Rotarysajterna, filtrera Link domain på de aktuella domänerna i rapporten — du behöver inte ändra taggen.