Annonsklicksattribuering för WhatsApp
Om du kör Meta- eller Google-annonser till en sida på din egen webbplats, och den sidan har en WhatsApp-knapp, kan Your AI Connector berätta för dig vilket annonsklick varje WhatsApp-konversation kom ifrån. Du klistrar in ett litet skript på din webbplats. När en besökare trycker på din WhatsApp-knapp sparas klicket och matchas med det första meddelandet de skickar till dig. Kontakten visar sedan vilken kampanj den kom ifrån, och klickdatan följer med kontakten in i webhooks, API:et och, om du vill, tillbaka till Meta.
Detta fungerar för alla sidor med en WhatsApp-knapp: en målsida, en bokningssida, en prissida eller ett frågeformulär som avslutas med “Skicka mina svar på WhatsApp”.
Den här sidan handlar om annonser som skickar folk till din webbplats först. Om dina annonser öppnar WhatsApp direkt (Metas “Klicka för att chatta på WhatsApp”-annonser), täcks det automatiskt, utan ett skript, i Attribuering för Klicka för att chatta på WhatsApp-annonser.
Konfigurera
- Gå till Inställningar → Annonsklickspårning (Integrationsgruppen).
- Klicka på Aktivera och hämta mitt skript. Ditt konto får sin egen webbplatsnyckel och ett skript på en rad.
- Kopiera skriptet och klistra in det precis före den avslutande
</body>-taggen på varje sida som har en WhatsApp-knapp:
<script src="https://api.youraiconnector.com/v1/ad-visit/YOUR_SITE_KEY.js" async></script>
- Valfritt: under WhatsApp-nummer, skriv in numret som dina knappar länkar till. Endast länkar till det numret spåras då. Lämna det tomt för att spåra varje WhatsApp-länk på webbplatsen.
- Välj formuleringen för förfrågningsnumret (se nedan) och klicka på Spara. Du behöver inte ändra skriptet på din webbplats efter en inställningsändring.
- Testa det: öppna din sida från en länk med en kampanjtagg på, till exempel
https://yoursite.com/?utm_source=test&utm_campaign=setup-check, tryck på din egen WhatsApp-knapp och skicka meddelandet. Öppna den kontakten i Chattar: kontaktpanelen visar Kom från ett annonsklick med kampanjen.
Webbplatsnyckeln finns redan i skriptet. Det är inte ett lösenord, så det är helt säkert att ha på en offentlig sida.
Vad skriptet gör
- När sidan laddas, sparar det annonsklick-ID:n och kampanjtaggar (
utm_-parametrarna) från sidans adress i webbläsarflikens sessionslagring, så att de finns kvar om besökaren tittar på en annan sida först. Det sätter ingen cookie, laddar inget annat och skickar ingenting. - När besökaren trycker på en WhatsApp-länk (
wa.me,api.whatsapp.com/sendellerwhatsapp://send), lägger det till förfrågningsnumret i meddelandet, registrerar besöket och låter trycket fortsätta till WhatsApp som vanligt.
Ingenting skickas till Your AI Connector före trycket.
Förfrågningsnumret
Ett kort nummer, likt referensen en butik eller klinik ger dig, läggs till i besökarens WhatsApp-meddelande. Det är så Your AI Connector vet exakt vilket annonsklick som hör till vilken konversation. Ett meddelande ser ut så här:
Hi, I would like to know more.
Enquiry no. 4827
- Formulering: “Förfrågningsnr” är standard. Du kan använda vilken textrad som helst som låter naturlig för din verksamhet, till exempel “Bokningsref” eller “Ref”. Inga siffror.
- Var: På en egen sista rad (standard) eller I slutet av texten. Inställningssidan visar en förhandsgranskning i realtid.
- Längd: 4 siffror, eller 5 när din webbplats är mycket välbesökt.
- Din AI-agent ser det aldrig och upprepar det aldrig. Inkorgen visar hela meddelandet, inklusive numret.
Du kan stänga av förfrågningsnumret. Matchning fungerar då endast baserat på meddelandets text, vilket innebär att två besökare som skickar exakt samma text (till exempel samma frågesportssvar) inte kan särskiljas, och vissa klick kommer inte att matchas.
Din egen kod för frågesport eller knapp
Om din sida bygger WhatsApp-meddelandet själv (en frågesport som lägger in svaren i texten, eller din egen knappkod), lägg till data-manual i script-taggen:
<script src="https://api.youraiconnector.com/v1/ad-visit/YOUR_SITE_KEY.js" data-manual async></script>
Med data-manual ändrar skriptet inte längre WhatsApp-länkar på egen hand. Din egen kod anropar det precis innan WhatsApp öppnas, så att varje besök registreras en gång:
window.ChatAttribution.text(finalText, number)returnerar din text med förfrågningsnumret tillagt och registrerar besöket. Använd den returnerade texten i din WhatsApp-länk.window.ChatAttribution.link(finalText, number)gör samma sak och returnerar en färdigwa.me-länk med den texten. Utelämna numret för att använda det som står under WhatsApp-nummer i inställningarna.
<script>
function sendAnswers(answers) {
var text = "Hi, my answers: " + answers.join(", ");
if (window.ChatAttribution) {
window.location.href = window.ChatAttribution.link(text, "+15551234567");
} else {
window.location.href = "https://wa.me/15551234567?text=" + encodeURIComponent(text);
}
}
</script>
Grenen else ser till att knappen fungerar även om skriptet inte har laddats, till exempel om ett webbläsartillägg blockerar det. En text som redan innehåller ett nummer som skriptet utfärdat ändras aldrig en andra gång.
Vad som registreras
Vid klicket innehåller besöksloggen:
- annonsklick-id:n i sidans adress, såsom
fbclid(Meta) ochgclid(Google) _fbc- och_fbp-cookies, om din egen Meta-pixel har satt dem på din webbplats (skriptet läser dem, det sätter dem aldrig)- kampanjtaggar (
utm_source,utm_medium,utm_campaign,utm_content,utm_term) - målsidan, sidan besökaren kom ifrån, webbläsaren och meddelandetexten
- IP-adressen och tiden, som läggs till av Your AI Connector när besöket anländer
När ett besök matchas räknar Your AI Connector även ut ungefär var besökaren befann sig baserat på den datan (stad och land, ungefärligt, från IP-adressen) samt vilken enhet de använde (telefon, surfplatta eller dator, operativsystem och webbläsare, till exempel Instagrams inbyggda webbläsare). Plats förblir tom när den inte kan fastställas, vilket är vanligt på mobilnätverk.
Besöksloggar sparas i 90 dagar. När ett besök matchas lagras en kopia av dess klickdata på kontakten och stannar kvar hos kontakten tills du tar bort den.
Din integritetspolicy: skriptet körs på din webbplats, så din webbplats integritetspolicy bör nämna det: vad det registrerar (listan ovan) och att det gör det när en besökare trycker på en WhatsApp-knapp.
Hur matchning fungerar
När en kontakts första meddelande anländer letar Your AI Connector efter ett besök från de 15 minuter som föregick det:
- I första hand via förfrågningsnummer. Ett meddelande som innehåller ett nummer som skriptet utfärdat matchas mot det besöket.
- Annars via identisk text. Ett meddelande med exakt samma text som ett besök matchas mot det. När två olika besökare skickar samma text inom tidsfönstret matchas ingen av dem, avsiktligt, så att en kontakt aldrig tillskrivs fel annons.
Ett senare meddelande som innehåller förfrågningsnumret matchas också, så länge kontakten inte har någon matchning ännu.
När en kontakt som redan har en matchning kommer tillbaka via en annan annons och skickar ett meddelande med ett nyare förfrågningsnummer, sparas det klicket som kontaktens senaste klick. Den första matchningen förblir oförändrad.
- Första klicket, för din rapportering: kontakten fortsätter att visa var leadet ursprungligen kom ifrån. Det ändras aldrig.
- Senaste klicket, för Meta: händelser som skickas till Meta använder det nyaste klicket, eftersom Meta krediterar annonsen som förde tillbaka personen och endast inom sitt attributionsfönster. Att rapportera ett gammalt klick skulle kreditera fel annons, eller ingen alls.
- Det senaste klicket hämtas endast från ett förfrågningsnummer, aldrig enbart från matchande text, och ett äldre besök ersätter aldrig ett nyare.
Begränsningar:
- Den första matchningen skrivs aldrig över. Nyare klick hamnar i det senaste klicket.
- Endast WhatsApp: WhatsApp Business API och WhatsApp Web-kanaler.
- 15 minuter: en besökare som trycker på knappen men skickar meddelandet långt senare matchas inte.
- Endast framåt: kontakter från tiden innan du installerade skriptet har ingen matchning.
Var du ser det
- Kontaktpanel: Kom från ett annonsklick med kampanj eller källa och datum för det första klicket. Håll muspekaren över för detaljer: kampanjen, Annonsen (
utm_content) och Annonsuppsättningen (utm_term), den ungefärliga Platsen och Enheten, var och en endast när den är känd, plus samma information för det senaste klicket när ett sådant finns. Kampanjtaggar som aldrig fylldes i (ett tryck på en annonsförhandsgranskning skickar taggmallen istället för namnen) utelämnas. Ett besök räknas endast som ett annonsklick när sidan öppnades från en annonslänk (ett Meta- eller Google-klick-id, eller kampanjtaggar). Alla som nådde sidan på annat sätt, till exempel från en Google-sökning, genom att skriva in din adress eller genom att klicka sig fram via din webbplats, visas som Kom från din webbplats med information om varifrån de kom, såsom Google-sökning, eller Webbplatsbesök, ingen referens registrerad när webbläsaren inte angav någon. - Kontaktsida: samma rad finns under kontaktens namn i Kontakter, så att du ser det direkt, även på din telefon. Håll muspekaren över eller tryck på den för detaljer.
- Aktivitet: kontaktens tidslinje börjar med Tryckte på din WhatsApp-knapp efter en annons (eller på din webbplats) vid tidpunkten för klicket, före deras första meddelande. Chattens kontaktpanel visar samma rad under Aktivitet.
- Webhooks:
contact.ad_attributioni agent-tagg-webhooks och i varje webhook-prenumerationshändelse som innehåller en kontakt. - API:
ad_attributioni kontaktlistan ochadAttributionför en enskild kontakt, i avsnittet Kontakter i API-referensen. - MCP-verktyg: samma objekt för varje kontakt de returnerar.
Värdet är null när kontakten inte har någon matchning. Fälten nedan beskriver det första klicket. När ett senare klick har matchats, innehåller latest det med samma fält; det är frånvarande fram till dess.
| Fält | Vad det är |
|---|---|
visit_at |
När besökaren tryckte på WhatsApp-knappen. |
matched_at |
När besöket matchades med kontakten. |
match_method |
reference (matchad via förfrågningsnummer) eller text (matchad via identisk meddelandetext). |
reference |
Förfrågningsnumret, eller null när det var avstängt. |
fbc / fbp |
Meta-klicket och webbläsarcookies från din egen Meta-pixel, om de finns. |
fbclid |
Meta-annonsklick-id från sidans adress. |
gclid / gbraid / wbraid |
Google-annonsklick-id från sidans adress. |
utm_source / utm_medium / utm_campaign / utm_content / utm_term |
Kampanjtaggarna från sidans adress. |
landing_url |
Sidan besökaren landade på. |
referrer |
Sidan besökaren kom ifrån. |
client_ip |
Besökarens IP-adress. |
user_agent |
Besökarens webbläsare. |
geo_country / geo_region / geo_city / geo_timezone |
Ungefärlig plats från IP-adressen: tvåbokstavig landskod, regionkod, stad och tidszon. Saknas när den är okänd. |
device_type / device_os / device_browser |
Enheten från webbläsaren: mobile, tablet eller desktop, operativsystemet med dess version (såsom iOS 18.3) och webbläsaren (såsom Safari eller Instagram in-app). Saknas när den är okänd. |
site_key |
Webbplatsnyckeln för skriptet som registrerade besöket. |
visit_id |
Id för besöksregistreringen. |
latest |
Det nyaste klicket som matchades efter det första, med samma fält. Används för händelser som skickas till Meta. Saknas när inget finns. |
Skicka resultat till Meta (valfritt)
Du kan låta Your AI Connector rapportera utfall tillbaka till ditt Meta-annonskonto, så att Meta lär sig vilka annonser som ger faktiska leads och försäljningar och optimerar mot dem. Detta använder dina egna uppgifter för Meta Conversions API.
- I Meta Events Manager, hitta ditt pixel-ID (även kallat dataset-ID) under Datakällor, och skapa en åtkomsttoken under Inställningar, Conversions API, Generera åtkomsttoken.
- I Inställningar → Annonsklickspårning, under Skicka resultat till Meta (valfritt), ange Pixel / dataset-ID och Åtkomsttoken. Klicka på Spara Meta-detaljer.
- Valfritt: kontrollera anslutningen. I Meta Events Manager, öppna din pixel och gå till fliken Testa händelser, kopiera testkoden som visas där, klistra in den under Skicka en testhändelse och klicka på Skicka testhändelse. Raden under knappen visar “Meta tog emot 1 testhändelse” (leta efter den under Testa händelser i Meta), eller visar Metas orsak om den avvisades, till exempel en felaktig token. Koden används endast för det testet och sparas aldrig.
- Öppna agentredigeraren, gå till fliken Taggar och öppna en tagg. Under Skicka till Meta, välj händelse: Lead, Kontakt, Bokning, Köp eller ett anpassat namn. Lägg eventuellt till ett värde och en valuta.
Från och med då, när den taggen appliceras på en kontakt (av AI:n, manuellt, via API:et eller genom en automatisering), skickar Your AI Connector händelsen till Meta med kontaktens nyaste klickdata (fbc, fbp, IP-adress, webbläsare, landningssida, från det senaste klicket när ett sådant finns, annars det första) plus deras telefonnummer, e-post och namn, hashade, så att Meta kan koppla det till annonsen. En kontakt utan matchning skickar fortfarande händelsen, med endast hashade telefonnummer, e-post och namn.
- Live-händelser räknas alltid: en testhändelsekod lagras aldrig med dina Meta-detaljer, så händelserna som dina taggar och automatiseringar skickar går alltid till din riktiga data i Meta, aldrig till fliken Testa händelser.
- Ingen dubbelräkning: varje händelse har ett fast ID som består av kontakt-ID och taggnamn. Om ditt CRM skickar samma händelse till Meta med samma ID, behåller Meta endast en.
- Metas attributionsfönster: Meta krediterar endast en händelse till en annons inom dess attributionsfönster, vilket som standard är 7 dagar efter klicket. En affär som avslutas veckor senare räknas inte av sig själv, så skicka även en tidigare händelse, till exempel en tagg för den bokade eller betalda konsultationen.
Skicka konverteringar från automatiseringar
En tagg skickar sin händelse när taggen appliceras. När resultatet sker någon annanstans, till exempel att en affär stängs i ditt CRM eller att en konsultation bokas, använd åtgärden Skicka konvertering till Meta i en automatisering. Den rapporterar en händelse till din Meta-datamängd via Conversions API, så att Meta optimerar dina annonser baserat på faktiska resultat och inte bara på meddelanden.
Den använder samma Meta-uppgifter som taggarna: Pixel / dataset-ID och Åtkomsttoken under Inställningar → Spårning av annonsklick. Utan dessa misslyckas steget med meddelandet “Meta är inte anslutet”.
Fälten
| Fält | Vad det gör |
|---|---|
| Händelsenamn | Obligatoriskt. Köp, Bokning, Lead eller ditt eget namn. Ditt eget namn använder bokstäver, siffror, mellanslag och understreck, börjar med en bokstav och är högst 40 tecken långt. |
| Värde och Valuta | Konverteringsbeloppet, till exempel affärsvärdet. Valuta är en tresiffrig kod och är som standard EUR. Värdet skickas endast när du fyller i det. |
| Kontakt | Valfritt. Kontakten som konverteringen tillhör. |
| E-post, Telefon, Förnamn, Efternamn | Uppgifter om personen. Fyll i dessa när personen inte är en kontakt, eller för att lägga till information till vad kontakten redan har. |
| Ditt eget ID för personen | Ett ID för personen från ditt eget system, till exempel ett CRM-ID. |
| Händelse-ID | ID:t som Meta använder för att räkna händelsen en gång. Se nedan. |
| Händelsetid | När konverteringen skedde, som unix-sekunder eller ett datum. Högst 7 dagar sedan. Lämna tomt för att använda tidpunkten då steget körs. |
| Sid-URL | Sidan som konverteringen är kopplad till, om någon. |
| Testhändelsekod | Endast för ett testkörning: koden från Metas flik Testa händelser. En händelse som skickas med denna visas under Testa händelser och räknas inte för dina annonser. Lämna tomt för live-händelser. |
Fyll i minst ett av fälten Kontakt, E-post eller Telefon. Personen behöver inte vara en kontakt: en HubSpot-affär som når statusen “Closed Won” kan skicka en “Purchase” med affärsvärdet och köparens e-postadress.
När du väljer en Kontakt används personens telefonnummer, e-postadress och namn. Om personen kom från ett annonsklick som skriptet matchade, skickas även klickuppgifterna med, vilket hjälper Meta att matcha händelsen med annonsen. E-post, telefon och namn hashas innan de skickas. Klick-ID, IP-adress och webbläsare skickas enligt Metas krav.
Händelse-ID och dubbelräkning
Meta räknar händelser med samma händelsenamn och samma Händelse-ID endast en gång. Använd ett fast ID, till exempel affärens ID, när ett annat verktyg också rapporterar samma konvertering, eller när automatiseringen kan komma att köras två gånger för samma händelse. Lämna det tomt så skapas ett nytt ID vid varje körning, vilket innebär att varje körning räknas.
Hur det skiljer sig från tagghändelser
En taggs Skicka till Meta-händelse skickas en gång per kontakt för den taggen (högst en gång var 30:e dag). Denna åtgärd skickar varje gång den körs. Händelse-ID:t är det som förhindrar att en konvertering räknas två gånger.
Exempel: en avslutad affär och en bokad konsultation
- Starta en automatisering som körs när en affär har vunnits: en App-händelse-utlösare för ditt CRM:s affärshändelse, med ett Villkor så att endast vunna affärer fortsätter. HubSpot skickar endast affärsstegshändelser till utvecklarappar, så för HubSpot, använd en Schema-utlösare med en HubSpot-sökning efter affärer som har nått statusen “Closed Won” sedan den senaste körningen, och en Loop över dem.
- Lägg till Skicka konvertering till Meta. Ställ in Händelsenamn till Purchase, Värde till affärsbeloppet (infoga det med +-knappen) och Valuta till din valuta. Ange köparens e-postadress i E-post och affärs-ID i Händelse-ID, så att samma affär aldrig räknas två gånger.
- För ett bokat möte, starta en andra automatisering med utlösaren Möte bokat och lägg till Skicka konvertering till Meta med Händelsenamn inställt på Schedule och kontakten från utlösaren i Kontakt. Om du vill kan du lägga till ett andra Skicka konvertering till Meta-steg som skickar ett Purchase-event med ett fast värde, till exempel priset för mötet.
Du kan också skicka en konvertering via API:et med POST https://api.youraiconnector.com/v1/ad-attribution/meta-event. Det använder samma fält i snake_case: event_name, value, currency, contact_id, email, phone, first_name, last_name, external_id, event_id, event_time, event_source_url och test_event_code.
Vanliga frågor
Fungerar detta om min annons öppnar WhatsApp direkt? De annonserna går inte via din webbplats, så skriptet körs aldrig. Meta skickar annonsdetaljerna med det första meddelandet istället, se Click-to-WhatsApp Ad Attribution.
Gör skriptet min webbplats långsammare eller sätter det cookies?
Det laddas i bakgrunden (async), sätter inga cookies och laddar inget annat. Det skickar bara information när en besökare trycker på en WhatsApp-knapp.
Kan jag spåra Google Ads utöver Meta-annonser?
Ja. Google-klick-id:n (gclid, gbraid, wbraid) och alla kampanjtaggar registreras och visas på kontakten. Att skicka tillbaka resultat är endast tillgängligt för Meta.
Varför fick en kontakt ingen matchning? De vanligaste orsakerna: meddelandet anlände mer än 15 minuter efter trycket, förfrågningsnumret togs bort från meddelandet, förfrågningsnumret är avstängt och en annan besökare skickade samma text, eller så saknar sidan skriptet.
Min webbplats länkar till två WhatsApp-nummer. Kan jag spåra bara ett? Ja. Skriv in det numret under WhatsApp-nummer i inställningarna. Lämna det tomt för att spåra alla WhatsApp-länkar.
Kan jag ändra formuleringen senare? Ja. Ändringar tillämpas på din webbplats omedelbart; du behöver inte klistra in skriptet igen.