
# Mainosklikkausten attribuutio WhatsAppille

Jos ohjaat Meta- tai Google-mainoksia omalla verkkosivustollasi olevalle sivulle, jolla on WhatsApp-painike, <span data-t="appName">DM Champ</span> voi kertoa, mistä mainosklikauksesta kukin WhatsApp-keskustelu on peräisin. Lisäät verkkosivustollesi pienen skriptin. Kun kävijä napauttaa WhatsApp-painikettasi, klikkaus tallennetaan ja yhdistetään ensimmäiseen viestiin, jonka hän lähettää sinulle. Yhteystiedossa näkyy sen jälkeen kampanja, josta se on peräisin, ja klikkaustiedot siirtyvät yhteystiedon mukana webhookeihin, API-rajapintaan ja halutessasi takaisin Metaan.

Tämä toimii millä tahansa sivulla, jossa on WhatsApp-painike: aloitussivulla, varaussivulla, hinnastosivulla tai kyselyssä, joka päättyy "Lähetä vastaukseni WhatsAppissa" -painikkeeseen.

> Tämä sivu käsittelee mainoksia, jotka ohjaavat ihmiset ensin **verkkosivustollesi**. Jos mainoksesi avaavat WhatsAppin suoraan (Metan "Click to WhatsApp" -mainokset), se käsitellään automaattisesti ilman skriptiä kohdassa [Click-to-WhatsApp-mainosten attribuutio](click-to-whatsapp-attribution.md).

---

## Käyttöönotto

1. Siirry kohtaan **Asetukset → Mainosklikkausten seuranta** (Integraatiot-ryhmä).
2. Napsauta **Ota käyttöön ja hae skriptini**. Tilisi saa oman sivustoavaimen ja yksirivisen skriptin.
3. Kopioi skripti ja liitä se juuri ennen sulkevaa `</body>`-tunnistetta jokaisella sivulla, jossa on WhatsApp-painike:

{% code overflow="wrap" %}
```html
<script src="https://api.dmchamp.com/v1/ad-visit/YOUR_SITE_KEY.js" async></script>
```
{% endcode %}

4. Valinnainen: kirjoita **WhatsApp-numero**-kenttään numero, johon painikkeesi linkittävät. Tällöin seurataan vain kyseiseen numeroon johtavia linkkejä. Jätä kenttä tyhjäksi, jos haluat seurata kaikkia sivuston WhatsApp-linkkejä.
5. Valitse tiedustelunumeron sanamuoto (katso alta) ja napsauta **Tallenna**. Sinun ei tarvitse muuttaa verkkosivustosi skriptiä asetusten muuttamisen jälkeen.
6. Testaa se: avaa sivusi linkistä, jossa on kampanjatunniste, esimerkiksi `https://yoursite.com/?utm_source=test&utm_campaign=setup-check`, napauta omaa WhatsApp-painikettasi ja lähetä viesti. Avaa kyseinen yhteystieto Chats-näkymässä: yhteystietopaneelissa näkyy **Peräisin mainosklikauksesta** ja kampanjan nimi.

Sivustoavain on jo skriptin sisällä. Se ei ole salasana, joten se on turvallista pitää julkisella sivulla.

::: master-only
**Toimistot:** jokaisella asiakastilillä on oma sivustoavain ja skripti, joten kunkin asiakkaan verkkosivusto raportoi omaan tiliinsä. Voit piilottaa asiakkaan osion valikon näkyvyysasetuksista, kuten minkä tahansa muun asetusosion.
:::

---

## Mitä skripti tekee

- **Kun sivu latautuu**, se säilyttää mainosklikkausten tunnisteet ja kampanjatunnisteet (osoitteen `utm_`-parametrit) selaimen välilehden istuntotallennustilassa, jotta ne ovat tallella, vaikka kävijä katsoisi ensin toista sivua. Se ei aseta evästeitä, lataa mitään muuta eikä lähetä mitään.
- **Kun kävijä napauttaa WhatsApp-linkkiä** (`wa.me`, `api.whatsapp.com/send` tai `whatsapp://send`), se lisää tiedustelunumeron viestiin, tallentaa käynnin ja antaa napautuksen jatkua WhatsAppiin normaalisti.

Mitään ei lähetetä <span data-t="appName">DM Champ</span>-palveluun ennen napautusta.

---

## Tiedustelunumero

Lyhyt numero, kuten kaupan tai klinikan antama viitenumero, lisätään kävijän WhatsApp-viestiin. Sen avulla <span data-t="appName">DM Champ</span> tietää tarkalleen, mikä mainosklikkaus kuuluu mihinkin keskusteluun. Viesti näyttää tältä:

```
Hi, I would like to know more.
Enquiry no. 4827
```

- **Sanamuoto:** "Tiedustelunro" on oletusarvo. Voit käyttää mitä tahansa yksirivistä tekstiä, joka kuulostaa luonnolliselta yrityksellesi, kuten "Varausviite" tai "Viite". Ei numeroita.
- **Sijainti:** **Omalla viimeisellä rivillään** (oletus) tai **Tekstin lopussa**. Asetussivu näyttää reaaliaikaisen esikatselun.
- **Pituus:** 4 numeroa tai 5, jos sivustollasi on paljon liikennettä.
- **Tekoälyagenttisi ei koskaan näe sitä** eikä koskaan toista sitä. Saapuneet-kansiossa näkyy koko viesti numero mukaan lukien.

Voit kytkeä kyselynumeron pois päältä. Tällöin täsmäytys toimii vain viestin tekstin perusteella, joten kahta vierailijaa, jotka lähettävät täsmälleen saman tekstin (esimerkiksi samat tietovisan vastaukset), ei voida erottaa toisistaan, eikä kaikkia klikkauksia voida täsmäyttää.

---

## Oma tietovisa- tai painikekoodisi

Jos sivusi muodostaa WhatsApp-viestin itse (tietovisa, joka lisää vastaukset tekstiin, tai oma painikekoodisi), lisää `data-manual` script-tunnisteeseen:

{% code overflow="wrap" %}
```html
<script src="https://api.dmchamp.com/v1/ad-visit/YOUR_SITE_KEY.js" data-manual async></script>
```
{% endcode %}

Kun käytössä on `data-manual`, skripti ei enää muuta WhatsApp-linkkejä itsestään. Oma koodisi kutsuu sitä juuri ennen WhatsAppin avaamista, joten jokainen vierailu kirjataan kerran:

- `window.ChatAttribution.text(finalText, number)` palauttaa tekstisi lisättynä kyselynumerolla ja kirjaa vierailun. Käytä palautettua tekstiä WhatsApp-linkissäsi.
- `window.ChatAttribution.link(finalText, number)` tekee saman ja palauttaa valmiin `wa.me`-linkin kyseisellä tekstillä. Jätä numero pois, jos haluat käyttää asetuksissa kohdassa **WhatsApp-numero** määritettyä numeroa.

{% code overflow="wrap" %}
```html
<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>
```
{% endcode %}

`else`-haara pitää painikkeen toiminnassa, vaikka skripti ei olisi latautunut, esimerkiksi jos selainlaajennus estää sen. Tekstiä, joka sisältää jo skriptin antaman numeron, ei koskaan muuteta toista kertaa.

---

## Mitä kirjataan

Napautushetkellä vierailutieto sisältää:

- mainosklikkausten tunnisteet sivun osoitteessa, kuten `fbclid` (Meta) ja `gclid` (Google)
- `_fbc`- ja `_fbp`-evästeet, jos oma Meta-pikselisi on asettanut ne sivustollasi (skripti lukee ne, se ei koskaan aseta niitä)
- kampanjatunnisteet (`utm_source`, `utm_medium`, `utm_campaign`, `utm_content`, `utm_term`)
- aloitussivun, sivun jolta vierailija tuli, selaimen ja viestin tekstin
- IP-osoitteen ja ajan, jotka <span data-t="appName">DM Champ</span> lisää vierailun saapuessa

Vierailutietoja säilytetään **90 päivää**. Kun vierailu täsmäytetään, kopio sen klikkaustiedoista tallennetaan yhteystietoon ja se säilyy yhteystiedon mukana, kunnes poistat sen.

**Tietosuojaseloste:** skripti toimii verkkosivustollasi, joten sivustosi tietosuojaselosteessa tulisi mainita se: mitä se kirjaa (yllä oleva luettelo) ja että se tekee niin, kun vierailija napauttaa WhatsApp-painiketta.

---

## Miten täsmäytys toimii

Kun yhteystiedon ensimmäinen viesti saapuu, <span data-t="appName">DM Champ</span> etsii vierailua, joka on tapahtunut **15 minuutin** sisällä sitä ennen:

1. **Ensin kyselynumeron perusteella.** Viesti, joka sisältää skriptin antaman numeron, täsmäytetään kyseiseen vierailuun.
2. **Muussa tapauksessa identtisen tekstin perusteella.** Viesti, jossa on täsmälleen sama teksti kuin vierailussa, täsmäytetään siihen. Kun kaksi eri vierailijaa lähettää saman tekstin kyseisen aikaikkunan sisällä, kumpaakaan ei täsmäytetä tarkoituksella, jotta yhteystietoa ei koskaan liitetä väärään mainokseen.

Myöhempi viesti, joka sisältää kyselynumeron, täsmäytetään myös, kunhan yhteystiedolla ei ole vielä täsmäytystä.

Rajoitukset:

- **Ensimmäinen osuma voittaa.** Kun yhteystiedolla on osuma, sitä ei koskaan ylikirjoiteta.
- **Vain WhatsApp:** WhatsApp Business API ja WhatsApp Web -kanavat.
- **15 minuuttia:** kävijää, joka napauttaa painiketta mutta lähettää viestin paljon myöhemmin, ei täsmäytetä.
- **Vain tästä eteenpäin:** ennen skriptin asentamista tulleilla yhteystiedoilla ei ole osumaa.

---

## Missä näet sen

- **Yhteystietopaneeli:** **Tuli mainosklikkauksesta** kampanjan tai lähteen sekä päivämäärän kera. Vie hiiri päälle nähdäksesi tiedot.
- **Webhooks:** `contact.ad_attribution` [agenttitunnisteiden webhookeissa](webhooks.md#contact-tags-updated-webhook) ja jokaisessa webhook-tilaustapahtumassa, joka sisältää yhteystiedon.
- **API:** `ad_attribution` yhteystietoluettelossa ja `adAttribution` yksittäisessä yhteystiedossa, API-viitteen Yhteystiedot-osiossa.
- **MCP-työkalut:** sama objekti jokaisessa yhteystiedossa, jonka ne palauttavat.

Arvo on `null`, kun yhteystiedolla ei ole osumaa.

| Kenttä | Mitä se tarkoittaa |
|---|---|
| `visit_at` | Kun kävijä napautti WhatsApp-painiketta. |
| `matched_at` | Kun vierailu täsmäytettiin yhteystietoon. |
| `match_method` | `reference` (täsmäytetty kyselynumerolla) tai `text` (täsmäytetty identtisellä viestitekstillä). |
| `reference` | Kyselynumero tai `null`, kun se oli pois päältä. |
| `fbc` / `fbp` | Meta-klikkaus ja selainevästeet omasta Meta-pikselistäsi, jos ne ovat olemassa. |
| `fbclid` | Meta-mainoksen klikkaustunniste sivun osoitteesta. |
| `gclid` / `gbraid` / `wbraid` | Google-mainoksen klikkaustunnisteet sivun osoitteesta. |
| `utm_source` / `utm_medium` / `utm_campaign` / `utm_content` / `utm_term` | Kampanjatunnisteet sivun osoitteesta. |
| `landing_url` | Sivu, jolle kävijä saapui. |
| `referrer` | Sivu, jolta kävijä tuli. |
| `client_ip` | Kävijän IP-osoite. |
| `user_agent` | Kävijän selain. |
| `site_key` | Vierailun tallentaneen skriptin sivustoavain. |
| `visit_id` | Vierailutietueen tunniste. |

---

## Lähetä tulokset Metaan (valinnainen)

Voit antaa <span data-t="appName">DM Champ</span>-palvelun raportoida tulokset takaisin Meta-mainostilillesi, jotta Meta oppii, mitkä mainokset tuovat todellisia liidejä ja myyntiä, ja optimoi niiden mukaan. Tämä käyttää omia Meta Conversions API -tietojasi.

1. Etsi Meta Events Managerissa pikselisi (kutsutaan myös tietojoukoksi) tunnus kohdasta Tietolähteet ja luo pääsytunniste kohdassa Asetukset, Conversions API, **Luo pääsytunniste**.
2. Kohdassa **Asetukset → Mainosklikkausten seuranta**, kohdassa **Lähetä tulokset Metaan (valinnainen)**, syötä **Pikselin / tietojoukon tunnus** ja **Pääsytunniste**. Testauksen aikana voit lisätä **Testitapahtumakoodin** Metan Testitapahtumat-välilehdeltä; tyhjennä se, kun olet valmis. Napsauta **Tallenna Meta-tiedot**.
3. Avaa agenttieditori, siirry **Tunnisteet**-välilehdelle ja avaa tunniste. Valitse kohdassa **Lähetä Metaan** tapahtuma: **Liidi**, **Yhteystieto**, **Aika**, **Osto** tai mukautettu nimi. Lisää halutessasi arvo ja valuutta.

Tästä eteenpäin aina, kun kyseinen tunniste lisätään yhteystietoon (tekoälyn, käsin, API:n tai automaation kautta), <span data-t="appName">DM Champ</span> lähettää tapahtuman Metaan yhteystiedon tallennetuilla klikkaustiedoilla (`fbc`, `fbp`, IP-osoite, selain, aloitussivu) sekä heidän puhelinnumerollaan, sähköpostillaan ja nimellään tiivistettynä, jotta Meta voi yhdistää sen mainokseen. Yhteystieto ilman osumaa lähettää silti tapahtuman, mutta vain tiivistetyllä puhelinnumerolla, sähköpostilla ja nimellä.

- **Ei kaksinkertaista laskentaa:** jokaisella tapahtumalla on kiinteä tunniste, joka koostuu yhteystiedon tunnisteesta ja tunnisteen nimestä. Jos CRM-järjestelmäsi lähettää saman tapahtuman Metaan samalla tunnisteella, Meta säilyttää vain yhden.
- **Metan attribuutioikkuna:** Meta hyvittää tapahtuman mainokselle vain attribuutioikkunansa sisällä, joka on oletuksena 7 päivää klikkauksesta. Kauppa, joka solmitaan viikkoja myöhemmin, ei lasketa sellaisenaan, joten lähetä myös aiempi tapahtuma, esimerkiksi tunniste varatusta tai maksetusta konsultaatiosta.

---

## Usein kysytyt kysymykset

**Toimiiko tämä, jos mainokseni avaa WhatsAppin suoraan?**
Nämä mainokset eivät kulje verkkosivustosi kautta, joten skripti ei koskaan suoritu. Meta lähettää mainostiedot ensimmäisen viestin mukana, katso [Click-to-WhatsApp-mainosten attribuutio](click-to-whatsapp-attribution.md).

**Hidastaako skripti verkkosivustoani tai asettaako se evästeitä?**
Se latautuu taustalla (`async`), ei aseta evästeitä eikä lataa mitään muuta. Se lähettää tietoja vain, kun kävijä napauttaa WhatsApp-painiketta.

**Voinko seurata Google Adsia sekä Meta-mainoksia?**
Kyllä. Googlen klikkaustunnisteet (`gclid`, `gbraid`, `wbraid`) ja kaikki kampanjatunnisteet tallennetaan ja näytetään yhteystiedossa. Tulosten lähettäminen takaisin on käytettävissä vain Metalle.

**Miksi yhteystieto ei saanut osumaa?**
Yleisimmät syyt: viesti saapui yli 15 minuuttia napautuksen jälkeen, kyselynumero poistettiin viestistä, kyselynumero on pois päältä ja toinen kävijä lähetti saman tekstin, tai sivulla ei ole skriptiä.

**Verkkosivustoni linkittää kahteen WhatsApp-numeroon. Voinko seurata vain yhtä?**
Kyllä. Kirjoita kyseinen numero asetusten kohtaan **WhatsApp-numero**. Jätä se tyhjäksi seurataksesi jokaista WhatsApp-linkkiä.

**Voinko muuttaa sanamuotoja myöhemmin?**
Kyllä. Muutokset tulevat voimaan verkkosivustollasi välittömästi; sinun ei tarvitse liittää skriptiä uudelleen.
