Integrazione

Tracciare AnchorLabs in Google Analytics 4: eventi, funnel e attribuzione per articolo

Come mappare gli eventi AnchorLabs in GA4: impression, hover, click, conversion. Custom dimension, funnel exploration, audience e debug.

Stefano Novelli · · 7 min di lettura
Tracciare AnchorLabs in Google Analytics 4: eventi, funnel e attribuzione per articolo

AnchorLabs raccoglie già analytics per articolo nella propria dashboard: impression, click, revenue attribuita. Ma per un publisher che fa dashboarding integrato su GA4 — mixando sessione, acquisizione, behavior e conversioni — serve portare quegli stessi eventi dentro Google Analytics 4. Solo così puoi costruire funnel cross-source, audience di retargeting, e dashboard che uniscono revenue affiliate con altri KPI editoriali.

Questa guida descrive passo-passo come mappare i quattro eventi AnchorLabs in GA4, come dichiarare le custom dimensions che ti servono, come costruire un funnel d'esplorazione, e come creare audience per retargeting editoriale. Al termine hai un tracking affidabile, conforme e riconciliabile con la source-of-truth AnchorLabs.

I quattro eventi AnchorLabs

AnchorLabs emette quattro eventi nel contesto browser, esposti attraverso un bus globale:

  • anchor_impression — il tooltip trigger è entrato nel viewport del lettore
  • anchor_hover — l'utente ha passato il mouse (o ha fatto tap su mobile) sul trigger
  • anchor_click — l'utente ha cliccato sul link del tooltip
  • anchor_conversion — arriva via postback quando il merchant conferma una conversione

Sottoscriviti agli eventi con:

window.anchorLabs?.on("impression", handler);
window.anchorLabs?.on("hover", handler);
window.anchorLabs?.on("click", handler);
window.anchorLabs?.on("conversion", handler);

Ogni handler riceve un payload con articleId, articleCategory, keyword, position (indice nel testo), productId, timestamp.

Step 1: configura i custom parameters in GA4

GA4 distingue tra parametri di default (già indicizzati: page_location, page_title, ecc.) e custom parameters che devi dichiarare esplicitamente per essere usati come dimension in report e exploration.

Vai in Admin → Property → Data display → Custom definitions → Custom dimensions e crea queste definizioni:

Nome dimension Scope Event parameter
Article ID Event article_id
Article Category Event article_category
Anchor Keyword Event anchor_keyword
Anchor Position Event anchor_position
Product ID Event product_id
Merchant Event merchant

Tutte queste sono a scope "Event" perché cambiano tra eventi differenti nella stessa sessione. Non servono dimensions a scope "User" qui.

Step 2: bridge da AnchorLabs a dataLayer

Il modo pulito per portare gli eventi in GA4 è passare attraverso il dataLayer di Google Tag Manager. Aggiungi questo bridge in un <script> che parte dopo il runtime AnchorLabs:

<script>
  (function () {
    function wait(cb) {
      if (window.anchorLabs) { cb(); return; }
      setTimeout(() => wait(cb), 50);
    }
    wait(function () {
      window.dataLayer = window.dataLayer || [];
      ["impression", "hover", "click", "conversion"].forEach(function (ev) {
        window.anchorLabs.on(ev, function (payload) {
          window.dataLayer.push({
            event: "anchor_" + ev,
            article_id: payload.articleId,
            article_category: payload.articleCategory,
            anchor_keyword: payload.keyword,
            anchor_position: payload.position,
            product_id: payload.productId,
            merchant: payload.merchant
          });
        });
      });
    });
  })();
</script>

Carica questo script dopo runtime.js. Su WordPress lo metti nello stesso plugin di header/footer injection; su Next.js in un <Script strategy="afterInteractive"> successivo.

Step 3: tags GA4 in GTM

In GTM crea quattro tag "GA4 Event":

  1. AnchorLabs — Impression

    • Measurement ID: il tuo GA4 stream ID
    • Event Name: anchor_impression
    • Trigger: Custom Event → Event name equals anchor_impression
    • Event Parameters:
      • article_id{{DLV - article_id}}
      • article_category{{DLV - article_category}}
      • anchor_keyword{{DLV - anchor_keyword}}
      • anchor_position{{DLV - anchor_position}}
      • product_id{{DLV - product_id}}
      • merchant{{DLV - merchant}}
  2. AnchorLabs — Hover — identico con anchor_hover

  3. AnchorLabs — Click — identico con anchor_click. Opzionale: segna questo tag come "key event" in GA4 se conti le "intenzioni d'acquisto".

  4. AnchorLabs — Conversion — identico con anchor_conversion. Questo deve essere key event perché rappresenta la conversione effettiva.

Ogni DLV (Data Layer Variable) va creato una volta sola nella sezione Variables di GTM.

Step 4: debug con DebugView

Attiva Preview in GTM, apri il sito in una tab, apri GA4 → Admin → DebugView. Scorri un articolo che contiene keyword prodotto. Vedi apparire in tempo reale:

  1. anchor_impression quando il tooltip trigger entra nel viewport
  2. anchor_hover quando passi il mouse
  3. anchor_click quando clicchi

Controlla che tutti i parametri siano presenti e ben formati. Tipici errori a questo stadio: article_id vuoto (il sito non espone l'ID articolo in una variabile del dataLayer), position come stringa invece che numero (problema di parsing in GTM).

Quando il DebugView mostra tutto pulito, pubblica il container di GTM.

Step 5: costruire il funnel in GA4 Explorations

Vai su Explore → Funnel exploration. Crea un nuovo funnel con quattro step:

  • Step 1: anchor_impression
  • Step 2: anchor_hover
  • Step 3: anchor_click
  • Step 4: anchor_conversion

Aggiungi come breakdown la dimension Article Category (scope event). Ottieni un funnel di conversione dall'impression all'ultima transazione, segmentato per categoria editoriale.

I numeri tipici che vedrai su un editoriale ben fatto:

  • Impression → Hover: 5-15% (quanti lettori si fermano davvero)
  • Hover → Click: 25-45% (quanti, tra i curiosi, cliccano)
  • Click → Conversion: 2-8% (varia molto per merchant e categoria)

Il dato più interessante è solitamente il primo: moltiplicando impression × 0,10 × 0,35 × 0,05 ottieni il conversion rate grezzo per impression. Se è sotto il benchmark, il problema è quasi sempre nel tooltip (troppo povero, prodotto sbagliato) più che nel CTA.

Step 6: audience per retargeting editoriale

Qui GA4 diventa potente. Crea un'audience "Hover senza click" in Admin → Audiences:

  • Include: utenti che hanno triggerato anchor_hover
  • Exclude: utenti che hanno triggerato anchor_click negli ultimi 14 giorni

Questo segmento è composto da utenti con intent di acquisto confermato ma non convertito. Usi questa audience:

  • Come segmento in report per capire il loro comportamento (quali articoli leggono, da dove arrivano, quanto restano).
  • Per attivare campagne display su Google Ads (retargeting) se vuoi riconvertirli.
  • Come proxy di "interesse prodotto" quando pitch editoriale un brand su un contenuto sponsorizzato.

Audience complementari utili:

  • Convertitori recenti — utenti con anchor_conversion negli ultimi 30 giorni. Buoni per pitch di contenuti premium o newsletter.
  • Lettori profondi senza conversione — scrollano > 70% senza anchor_click. Possibile problema di copertura AnchorLabs: forse le keyword di quei longform non hanno match.

Conciliazione AnchorLabs ↔ GA4

Le due fonti — dashboard AnchorLabs e GA4 — non matcheranno mai al 100%. Aspettati un delta del 3-12% tra i due contatori, principalmente per:

  • Consent mismatch: utenti che rifiutano GA4 ma non AnchorLabs (AnchorLabs non mette cookie, quindi gira sempre).
  • Ad-blocker: GA4 è bloccato da molti ad-blocker, AnchorLabs di solito no (se allowlistato il dominio).
  • Bot traffic: GA4 filtra bot noti, AnchorLabs ha una lista propria.

La dashboard AnchorLabs è source of truth per revenue e conversion. GA4 è fonte di verità per behavior, acquisizione, audience. Usa entrambe per quello che ciascuna fa meglio.

AnchorLabs per il tracking: cosa otteni out-of-the-box

Il vantaggio tecnico di AnchorLabs in uno stack GA4 è che gli eventi granulari (impression, hover, click, conversion) sono già pronti e stabili, senza bisogno di costruire uno strato di tracking custom sopra ai link affiliati. In un'integrazione tipica con plugin WordPress come AAWP o Lasso devi decidere manualmente cosa conta come impression (un link nel DOM? entrato nel viewport? visibile per X secondi?), implementare IntersectionObserver per ciascun link, parsare il click outbound. AnchorLabs ha questa logica già corretta nel runtime, con throttling per evitare eventi spam.

Il secondo vantaggio è l'assenza di cookie e di fingerprinting per la logica core: le impression si possono registrare anche prima del consenso senza violazioni GDPR, perché sono eventi anonimi di visibilità. Il consenso serve solo per l'arricchimento e per il pinging a GA4. Questo è rilevante su siti italiani dove il consent rate su GA4 è spesso sotto il 50%.

Per il quadro strategico più ampio sulle metriche che contano davvero nel commerce editoriale, vedi KPI del commerce content per editori. Per trasformare questi eventi in un modello di attribuzione revenue per articolo, fai riferimento a Come tracciare la revenue per articolo.

Troubleshooting

Eventi in DebugView ma zero in Reports Il tag GA4 non è pubblicato o il Consent Mode v2 sta filtrando tutto. Verifica lo stato del consenso in DebugView.

Custom dimensions compaiono vuote nei report Hai dichiarato il custom parameter in Admin ma il tag non lo sta inviando. Controlla il naming esatto (case-sensitive).

Delta enorme tra anchor_click e click outbound I anchor_click non sono i click generici sul link, sono specificamente i click sul CTA del tooltip. La distinzione è corretta.

Da dove iniziare

Se hai già GTM e GA4 attivi, segui gli Step 1-4 in questa sessione — è un'ora di lavoro. Verifica in DebugView, pubblica il container.

Se non hai ancora GTM, questa è una buona occasione per introdurlo: GTM separa tracking e codice, utile anche per molti altri scenari. Alternativa più rapida: emetti gli eventi direttamente a gtag() invece che a dataLayer. Perdi la flessibilità di GTM ma salti uno step.

Per la documentazione completa del setup iniziale di AnchorLabs — prima dello step di tracking — vedi la guida di integrazione passo-passo.

Domande frequenti

Perché tracciare gli eventi AnchorLabs anche in GA4 se la dashboard di AnchorLabs ha già i dati?

Per tre motivi. Primo, i dati di AnchorLabs vivono accanto al resto della telemetria del sito (sessioni, acquisizione, pagine, conversioni non-affiliate). Secondo, puoi costruire audience per retargeting anche sugli utenti con hover ma senza click. Terzo, la conciliazione tra due fonti indipendenti scopre anomalie di tracking prima che diventino fuga di revenue.

Serve un costo aggiuntivo su GA4 per registrare questi eventi?

No se resti nella versione gratuita. Per le property web GA4 non impone un limite al numero di eventi distinti (il limite di 500 eventi distinti al giorno per utente vale solo per le property app). I limiti rilevanti per il web sono 25 custom dimensions user-scoped e 50 event-scoped per property, più 25 parametri per singolo evento. I 4 eventi AnchorLabs (impression, hover, click, conversion) e 5-6 parametri custom rientrano largamente in questi limiti.

Si può passare il product_id a GA4 senza violare GDPR?

Sì, finché il product_id è un identificatore del prodotto e non dell'utente. GA4 raccomanda esplicitamente di non inviare dati personali tra i custom parameters; un SKU o un product slug sono dati di catalogo, non personali. La dashboard AnchorLabs non espone mai dati personali via le sue API di eventi.

Come gestisco il consenso su eventi AnchorLabs se l'utente non ha accettato analytics?

Come qualsiasi evento GA4: il Consent Mode v2 di Google gestisce il fallback. Se l'utente rifiuta `analytics_storage`, GA4 riceve solo un ping aggregato pseudonimizzato. AnchorLabs lato suo continua a funzionare (non richiede cookie) e registra impression/click nella propria dashboard con stesso livello di consenso.