30/09/2023
I den digitale tidsalder er data guld værd. Virksomheder stræber efter at forstå deres brugere, optimere deres digitale oplevelser og træffe datadrevne beslutninger. En af de mest robuste og fleksible platforme til dette formål er Adobe Analytics. Men for at udnytte dets fulde potentiale er det afgørende at forstå, hvordan man implementerer det korrekt. Denne artikel vil guide dig gennem processen med at implementere Adobe Analytics ved hjælp af JavaScript, hvilket giver dig kontrol over, hvilke data der indsamles, og hvordan.

JavaScript er rygraden i de fleste websporingsløsninger. Det giver dig mulighed for at indsamle specifikke data om brugeradfærd, sidevisninger, interaktioner og meget mere direkte fra browseren. Med Adobe Analytics og JavaScript kan du skræddersy din dataindsamling præcist til dine forretningsbehov, hvilket giver dig enestående indsigt i din kunderejse.
- Grundlæggende Opsætning af Adobe Analytics med JavaScript
- Nøglebegreber og Variabler i Adobe Analytics
- Brug af Datalag (Data Layer) for Robust Implementering
- Avanceret Sporing: Link Tracking med s.tl()
- Bedste Praksisser for Implementering
- Fejlfinding og Almindelige Problemer
- Ofte Stillede Spørgsmål (FAQ)
Grundlæggende Opsætning af Adobe Analytics med JavaScript
Hjertet i enhver Adobe Analytics-implementering er s-objektet, som er den primære grænseflade til indsamling og afsendelse af data. For at komme i gang skal du initialisere dette objekt og konfigurere det til at pege på din specifikke rapportsuite og sporingsserver. Her er den grundlæggende kode, du skal bruge:
// Instantier Analytics-sporings-objektet med rapportsuite ID var s_account = "examplersid"; var s=s_gi(s_account); // Sørg for, at data sendes til den korrekte sporingsserver s.trackingServer = "example.data.adobedc.net";Lad os nedbryde disse linjer for at forstå deres betydning:
var s_account = "examplersid";: Denne linje definerer din rapportsuite-ID. En rapportsuite er en databeholder i Adobe Analytics, hvor alle dine indsamlede data lagres. Det er afgørende, at du bruger den korrekte rapportsuite-ID for din organisation, da alle data vil blive dirigeret hertil. Ofte vil du have forskellige rapportsuiter til forskellige miljøer (f.eks. udvikling, staging, produktion) eller forskellige dele af din virksomhed.var s=s_gi(s_account);: Her initialiseres det globale s-objekt ved hjælp af funktionens_gi()(get instance). Denne funktion opretter en ny instans af Analytics-sporingsbiblioteket og forbinder den med den angivne rapportsuite. Dette s-objekt er det, du vil bruge til at sende alle dine sporingsanmodninger og konfigurere dine variabler.s.trackingServer = "example.data.adobedc.net";: Denne linje fortæller s-objektet, hvilken server dine indsamlede data skal sendes til. Det er sporingsserveren, der modtager data fra dine websider og videresender dem til Adobe Analytics. Den korrekte sporingsserver er afgørende for, at dine data overhovedet når frem til Adobe. Hvis denne er forkert, vil ingen data blive indsamlet. Din sporingsserver vil typisk være unik for din organisation og følger et mønster som[dit_firmanavn].data.adobedc.net.
Når s-objektet er initialiseret og konfigureret, er det næste skridt at sende data. Den mest grundlæggende form for dataindsamling er en sidevisning, som typisk udløses, når en bruger indlæser en ny side:
s.t();Kaldet s.t() fortæller Adobe Analytics, at en sidevisning har fundet sted, og sender alle de aktuelle værdier i s-objektets variabler til sporingsserveren.
Nøglebegreber og Variabler i Adobe Analytics
For at indsamle meningsfulde data skal du udfylde s-objektets variabler. Adobe Analytics tilbyder en række indbyggede variabler samt muligheden for at definere dine egne. Her er nogle af de vigtigste:
Sideinformation
s.pageName: Denne variabel bruges til at give en meningsfuld navn til hver side, der spores. I stedet for bare en URL, som kan være svær at læse, kan du give siderne navne som 'Forside', 'Produktkategori: Elektronik' eller 'Blogindlæg: JavaScript Implementering'. Dette gør rapportering langt mere læsbar og brugervenlig. Eksempel:s.pageName = "Min Hjemmeside: Om Os";s.channel: Bruges til at gruppere relaterede sider eller sektioner af dit website. Du kunne have kanaler som 'Produktsider', 'Blog', 'Kundeservice' osv. Dette giver dig mulighed for at analysere trafik og adfærd på et højere niveau. Eksempel:s.channel = "Produktsider";
Hændelser (Events)
Hændelser er afgørende for at spore specifikke brugerinteraktioner, der ikke nødvendigvis er sidevisninger, f.eks. klik på knapper, formularindsendelser, videoafspilninger eller download af filer. Adobe Analytics bruger s.events-variablen til dette.
Du kan tildele numeriske ID'er til dine hændelser (f.eks. event1, event2) og også tildele dem serielle værdier. Eksempel:
// Spor et klik på en 'Læg i kurv' knap s.events = "event1"; // event1 kunne være 'add to cart' s.products = ";Produkt_SKU_123;;1;"; // Antal af produktet s.t(); // Eller s.tl() for link trackingDu kan også have brugerdefinerede hændelser med specifikke navne, der ofte bruges i kombination med eVar eller prop til at tilføje kontekst.
Brugerdefinerede Variabler: eVar og prop
Adobe Analytics tilbyder to primære typer af brugerdefinerede variabler til at fange unikke data, der er specifikke for din virksomhed:
eVar(Conversion Variables): Disse variabler er designet til at fange konversionsrelaterede data. De har en vedvarende værdi, hvilket betyder, at når eneVarer indstillet, forbliver dens værdi tildelt til den besøgende i en foruddefineret periode (f.eks. session, 30 dage, 90 dage). Dette gør dem ideelle til at forstå, hvilke marketingkanaler, kampagner eller interne sideelementer der førte til en konvertering. Du kan f.eks. bruge eneVartil at spore den interne søgeterm, der førte til et køb.prop(Traffic Variables): Disse variabler er designet til at fange trafikrelaterede data. De har en ikke-vedvarende værdi, hvilket betyder, at deres værdi kun er gyldig for den sidevisning, hvor den blev indstillet. De er perfekte til at analysere mønstre på en enkelt side eller et enkelt hit, f.eks. hvilke interne links der blev klikket på, eller hvilke fejlmeddelelser der blev vist.
Her er en sammenligningstabel:
| Egenskab | eVar (Conversion Variable) | prop (Traffic Variable) |
|---|---|---|
| Formål | Forstå konversioner; attribut data over tid. | Forstå trafikmønstre på hit-niveau. |
| Persistens | Vedvarende (varer ud over det enkelte hit, f.eks. session, 30 dage). | Ikke-vedvarende (kun gyldig for det hit, den blev indstillet på). |
| Antal | Typisk 75-100+ (eVar1 til eVarX). | Typisk 75-100+ (prop1 til propX). |
| Rapportering | Konversionsrapporter, attribuerer værdi til konversioner. | Trafikrapporter, viser antal hits for en given værdi. |
| Eksempel | Første marketingkanal, intern søgeterm før køb, kundetype. | Intern linktekst, sidefejl, element klikket på en side. |
Eksempel på brug:
// Sæt en eVar for at spore den interne søgeterm s.eVar1 = "javascript implementering"; // Sæt en prop for at spore et klik på en specifik knap s.prop1 = "knap_send_formular"; // Send data (enten sidevisning eller link tracking) s.t();Produkter (E-handel)
For e-handelswebsteder er s.products-variablen afgørende for at spore produktrelaterede handlinger som visninger, tilføjelser til kurv og køb. Formatet er specifikt:
s.products = "Kategori;SKU;Antal;Pris;events;eVarN=værdi|eVarX=værdi";Eksempel på et produkt tilføjet til kurven:
s.events = "scAdd"; // Standard event for 'add to cart' s.products = ";PROD12345;;1;599.95"; // SKU, antal, pris s.t();Brug af Datalag (Data Layer) for Robust Implementering
En af de bedste praksisser for en skalerbar og vedligeholdelsesvenlig Adobe Analytics-implementering er at bruge et datalag (data layer). Et datalag er et JavaScript-objekt, der indeholder alle de data, du ønsker at indsamle fra din webside, uafhængigt af den specifikke analyseplatform.
I stedet for at hente data direkte fra DOM'en (Document Object Model) – hvilket kan være skrøbeligt, hvis websidens struktur ændres – kan du fylde datalaget med relevante oplysninger. Din Adobe Analytics-kode kan derefter læse data fra datalaget.
Eksempel på et simpelt datalag:
<script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'pageCategory': 'Blog', 'pageName': 'Implementering af Adobe Analytics', 'author': 'Din Navn', 'loggedInStatus': 'true' }); </script>Og hvordan du ville hente data fra det til dit s-objekt:
if (window.dataLayer && window.dataLayer.length > 0) { var pageData = window.dataLayer[0]; // Eller iterer hvis du bruger flere pushes s.pageName = pageData.pageName; s.channel = pageData.pageCategory; s.eVar2 = pageData.author; s.prop2 = pageData.loggedInStatus; } s.t();Fordelene ved et datalag er mange:
- Separation af bekymringer: Udviklere kan fokusere på at fylde datalaget, mens analytikere og marketingfolk kan konfigurere sporing baseret på datalaget.
- Robusthed: Mindre følsomt over for ændringer i websidens HTML-struktur.
- Fleksibilitet: Kan bruges af flere sporingsværktøjer (f.eks. Google Analytics, Facebook Pixel) uden at duplikere logik for datahentning.
- Konsistens: Sikrer, at data indsamles på en ensartet måde på tværs af hele websitet.
Avanceret Sporing: Link Tracking med s.tl()
Udover sidevisninger er det ofte nødvendigt at spore klik på specifikke links eller knapper, der ikke fører til en ny sideindlæsning. Her kommer s.tl() (track link) i spil. I modsætning til s.t(), som sender et sidevisningshit, sender s.tl() et 'link hit' og forhindrer browseren i at navigere væk, indtil hit'et er sendt.
Syntaksen for s.tl() er:
s.tl(objRef, linkType, linkName, variableOverrides);objRef: Reference til det DOM-element, der blev klikket på (valgfrit, men anbefales).linkType: Typen af link. De mest almindelige er'o'(custom link),'d'(download link) og'e'(exit link).linkName: Et meningsfuldt navn for linket, der vises i rapporterne.variableOverrides: En valgfri parameter, der giver dig mulighed for at overskrive s-objektets variabler kun for dette specifikke hit.
Eksempler:
Brugerdefineret Link Tracking (linkType='o')
Bruges til at spore klik på elementer, der ikke er standardlinks (f.eks. knapper, faneblade, videoafspilninger).
<button onclick="trackCustomButtonClick();">Tilmeld Nyhedsbrev</button> <script> function trackCustomButtonClick() { s.linkTrackVars = 'eVar3,events'; // Hvilke variabler skal sendes med dette hit s.linkTrackEvents = 'event3'; // Hvilke events skal sendes med dette hit s.eVar3 = 'nyhedsbrev_tilmelding_klik'; s.events = 'event3'; s.tl(this, 'o', 'Tilmeld Nyhedsbrev Knap Klik'); } </script>Download Link Tracking (linkType='d')
Adobe Analytics kan automatisk spore downloads af visse filtyper (f.eks. .pdf, .doc). Men du kan også manuelt spore dem:
<a href="/docs/rapport.pdf" onclick="s.tl(this,'d','Download Rapport PDF');">Download Rapport</a>Exit Link Tracking (linkType='e')
Bruges til at spore klik på links, der fører væk fra dit domæne:
<a href="https://www.eksternside.com" onclick="s.tl(this,'e','Klik til Ekstern Side');">Besøg Ekstern Side</a>Bedste Praksisser for Implementering
- Asynkron Indlæsning: Sørg for, at Adobe Analytics-biblioteket indlæses asynkront. Dette forhindrer, at det blokerer for indlæsning af andet indhold på din side, hvilket forbedrer sideindlæsningstiden og brugeroplevelsen.
- Test og Validering: Brug værktøjer som Adobe Experience Platform Debugger (en browserudvidelse) til at validere din implementering. Den viser dig, hvilke data der sendes til Adobe Analytics i realtid, og hjælper med at identificere fejl.
- Konsistens: Sørg for, at din implementering er konsistent på tværs af hele dit website. Brug de samme variabler og konventioner for navngivning overalt for at sikre nøjagtige og sammenlignelige data.
- Dokumentation: Dokumenter din implementering grundigt. Hvilke variabler bruges til hvad? Hvilke hændelser spores? Dette er uvurderligt for fremtidig vedligeholdelse og fejlfinding.
- Data Governance: Etabler klare retningslinjer for dataindsamling og brug. Hvem ejer dataene? Hvordan skal de bruges? Hvilke privatlivshensyn skal der tages?
- Fejlhåndtering: Implementer robust fejlhåndtering i din JavaScript-kode for at forhindre, at sporingskoden bryder websitet, hvis der opstår uventede situationer.
Fejlfinding og Almindelige Problemer
Selv med den bedste planlægning kan der opstå problemer under implementeringen. Her er nogle almindelige scenarier og tips til fejlfinding:
- Mangler Data i Rapporter:
- Sporingsserver forkert? Dobbelttjek
s.trackingServer. - Rapportsuite-ID forkert? Tjek
s_account. - Ingen
s.t()ellers.tl()kald? Sørg for, at sporingskaldene udløses korrekt. - Ad-blockere? Test i en browser uden ad-blockere.
- Netværksfejl? Brug browserens udviklerværktøjer (fanebladet 'Network') til at se, om der sendes requests til din sporingsserver (typisk med 'b/ss' i URL'en).
- Sporingsserver forkert? Dobbelttjek
- Forkerte Værdier i Rapporter:
- Variabler ikke sat korrekt? Brug Adobe Experience Platform Debugger til at inspicere værdierne, der sendes.
- Timing-problemer? Sørg for, at variablerne er indstillet, før
s.t()ellers.tl()kaldes. - Overlappende variabler? Hvis du genbruger variabler, der skulle være unikke for et hit, kan værdier blive overskrevet.
- Ydeevneproblemer:
- Synkron indlæsning? Sørg for asynkron indlæsning af biblioteket.
- For mange DOM-manipulationer? Optimer din JavaScript-kode for at minimere manipulation af DOM'en.
- Data Layer Issues:
- Data Layer ikke fyldt? Tjek, om
window.dataLayerer defineret og indeholder de forventede data, før Analytics-koden forsøger at læse fra det. - Forkerte nøglenavne? Sørg for, at de nøglenavne, du bruger i dit datalag (f.eks.
pageName), stemmer overens med dem, din Analytics-kode forventer.
- Data Layer ikke fyldt? Tjek, om
Ofte Stillede Spørgsmål (FAQ)
Hvad er en Report Suite?
En Report Suite er en isoleret databeholder i Adobe Analytics, hvor alle dine indsamlede data gemmes og behandles. Hver Report Suite har et unikt ID (f.eks. 'minvirksomhedprod'), og du kan have flere Report Suiter til forskellige formål, f.eks. en til dit live website, en til testmiljøer, eller separate suiter for forskellige regioner eller brands.
Hvad er forskellen mellem eVar og prop?
Hovedforskellen ligger i deres persistenstid og formål. eVar (conversion variable) er vedvarende og bruges til at attribuere konversioner over tid, f.eks. hvilken marketingkanal der førte til et salg, selvom salget skete flere dage efter den første interaktion. prop (traffic variable) er ikke-vedvarende og gælder kun for det specifikke hit, det blev sat på, og bruges typisk til at analysere trafikmønstre på et givent tidspunkt, f.eks. hvilke interne søgeord der blev brugt på en specifik side.
Hvordan sporer jeg en brugerdefineret hændelse?
Du sporer en brugerdefineret hændelse ved at sætte s.events-variablen til den relevante hændelses-ID (f.eks. 'event1', 'event2') og derefter foretage et s.t() (for sidevisningsrelaterede hændelser) eller s.tl() (for link- eller klikrelaterede hændelser) kald. Du kan også tilføje kontekst til hændelsen ved at sætte eVar eller prop variabler før kaldet.
Er et datalag nødvendigt for Adobe Analytics?
Et datalag er ikke strengt nødvendigt, da du kan hente data direkte fra DOM'en. Men det er en stærkt anbefalet bedste praksis. Det forbedrer robustheden af din implementering, adskiller dataindsamlingslogik fra UI-logik, og gør det nemmere at vedligeholde og udvide din sporing, især på store og komplekse websites.
Hvordan tester jeg min implementering?
Den mest effektive måde at teste din implementering på er ved at bruge Adobe Experience Platform Debugger browserudvidelsen. Denne udvidelse giver dig mulighed for at se alle de variabler og hændelser, der sendes til Adobe Analytics i realtid, og hjælper dig med at identificere eventuelle fejl eller manglende data. Du bør også oprette test-rapportsuiter til at validere dataene, før de sendes til din produktions-rapportsuite.
Implementering af Adobe Analytics med JavaScript giver dig en utrolig fleksibilitet og kontrol over dine data. Ved at forstå de grundlæggende koncepter, udnytte datalag og følge bedste praksis, kan du bygge en robust og skalerbar sporingsløsning, der leverer dybdegående indsigt og understøtter dine forretningsmål.
Hvis du vil læse andre artikler, der ligner Implementering af Adobe Analytics med JavaScript, kan du besøge kategorien Teknologi.
