Server-side tracking

Server-side tracking, ook wel S2S- of backendtracking genoemd, betekent dat conversies rechtstreeks van je server naar Addrevenue worden verzonden in plaats van via de browser van de bezoeker.

Dit verschilt van client-side tracking, ook wel frontendtracking genoemd, waarbij de tracking via JavaScript in de browser plaatsvindt. Client-side tracking is vaak eenvoudiger om mee te beginnen, maar is ook afhankelijker van de browseromgeving. Server-side tracking geeft je meer controle over wanneer en hoe een conversie wordt verzonden en is daarom vaak een goede keuze wanneer tracking robuuster moet zijn of wanneer de conversie pas later in het proces plaatsvindt.

Wanneer moet je server-side tracking gebruiken?

Server-side tracking wordt vaak gebruikt voor zogenaamde offline conversies, dat wil zeggen wanneer de conversie niet direct op de website plaatsvindt.

Dit kan bijvoorbeeld het geval zijn wanneer een gebruiker online een aanvraag indient, maar de daadwerkelijke transactie op een later tijdstip plaatsvindt.

Een veelvoorkomend voorbeeld is in de financiële sector, waar een bezoeker een lening aanvraagt op de website, maar de commissie gebaseerd is op de uitbetaalde lening. In zo'n geval vindt de conversie pas plaats wanneer de lening daadwerkelijk wordt uitbetaald, wat vaak pas enkele dagen later is. Maar server-side tracking is minstens even relevant voor reguliere online aankopen. Door conversietracking naar je server te verplaatsen, verminder je de afhankelijkheid van de browser, wat vaak resulteert in stabielere en consistentere gegevensverzameling.

Hoe het werkt

Het proces is als volgt:

  1. Een gebruiker klikt op een affiliate-link.
  2. Addrevenue registreert de click en genereert een clickId.
  3. De gebruiker komt op je website terecht met clickId, advertiserId en channelId als parameters in de URL.
  4. Je slaat deze waarden op in je eigen omgeving, gekoppeld aan de sessie.
  5. Wanneer een conversie plaatsvindt, stuurt je server een postback terug naar Addrevenue.

Het is belangrijk dat je alle drie de waarden, clickId, advertiserId en channelId, opslaat, zodat ze tijdens de conversie kunnen worden verzonden.

Opslag op je server

Hoe je de gegevens opslaat, is afhankelijk van je implementatie, maar enkele algemene richtlijnen zijn vaak nuttig:

Vaak wordt een combinatie gebruikt van een server-side sessie, een eigen first-party cookie en een latere koppeling aan een bestelling of klant.

Redirectparameters naar je website

Wanneer verkeer van Addrevenue naar je website wordt gestuurd, worden parameters normaal gesproken meegestuurd in de redirect, zodat je deze kunt opslaan voor later gebruik in de postback.

De belangrijkste parameters om vast te leggen zijn:

clickId

advertiserId

channelId

We kunnen zowel de namen van de parameters als de parameters die in de redirect naar je website worden verzonden aanpassen. Dit is vaak belangrijk als je bestaande systemen of tools van derden gebruikt voor server-side tracking die andere namen verwachten, bijvoorbeeld je eigen interne parameters of formaten zoals adv_sub, aff_sub2 of aff_click_id.

De namen van de parameters in de postback naar Addrevenue zijn echter strikter en moeten ons onderstaande schema volgen.

Postback verzenden naar Addrevenue

Voor server-side tracking stuur je een verzoek naar:

https://addrevenue.io/t

Dit kan als POST met JSON-payload of als GET met parameters in de URL. Voor eenvoudigere implementaties werken beide, maar als je meer geavanceerde gegevens wilt verzenden, zoals productlijsten, is een JSON-payload de duidelijkste optie.

Parameters

Verplichte parameters

Voorwaardelijke parameters

Deze zijn verplicht als je een variabel commissietype gebruikt, dat gebaseerd is op de orderwaarde.

Optionele parameter

Indien deze ontbreekt, proberen we de markt af te leiden van de gebruiker en de eerste click.

Optionele parameters voor e-commerce

Voor e-retailers zijn er ook enkele uitgebreide, optionele parameters die relevant kunnen zijn, afhankelijk van je configuratie.

Kortingscodes

discountCodes kunnen worden verzonden als een door komma's gescheiden lijst van de kortingscodes die bij de aankoop zijn gebruikt.

Dit wordt voornamelijk gebruikt voor het bijhouden van kortingscodes, d.w.z. wanneer een aankoop kan worden toegeschreven aan een kortingscode, zelfs als er geen click is geregistreerd. Een typisch voorbeeld is wanneer een affiliate een exclusieve kortingscode publiceert in een bericht of op sociale media zonder tegelijkertijd naar de website te linken.

Producten

Het is ook mogelijk om de volledige winkelwagen in de parameter products te verzenden.

products worden verzonden als een array van objecten, waarbij elk object eigenschappen moet bevatten zoals:

Het doel hiervan is deels dat je als adverteerder statistieken per product kunt verkrijgen, en deels dat je op regels gebaseerde commissieprogramma’s kunt opzetten met verschillende commissies voor individuele producten.

Omdat products een complexere datastructuur is, is deze het meest geschikt voor postback via een JSON-payload, in plaats van via GET-parameters.

Zowel discountCodes als products zijn optioneel en vooral relevant voor webwinkels.

Voorbeeld van een GET-verzoek

In een GET-verzoek worden de gegevens als parameters in de URL verzonden:

https://addrevenue.io/t?type=Purchase&advertiserId=YOUR_ADVERTISER_ID&channelId=123456&clickId=61f180ac133415.32320128&value=423.00¤cy=SEK&orderId=W6234&market=SE

Voorbeeld van een POST-verzoek met JSON-payload

De gegevens worden in JSON-formaat verzonden als een POST-verzoek naar:

https://addrevenue.io/t

met header:

Content-Type: application/json

en JSON-body als hieronder:

{
    "type": "Purchase",
    "advertiserId": "YOUR_ADVERTISER_ID",
    "channelId": "123456",
    "clickId": "61f180ac133415.32320128",
    "value": 42.30,
    "currency": "EUR",
    "orderId": "W6234",
    "market": "DE"
}

Voorbeeld van een POST-verzoek met uitgebreide e-commercegegevens

Als je kortingscodes en productgegevens wilt verzenden, is een POST-verzoek met een JSON-payload aan te raden:

{
    "type": "Purchase",
    "advertiserId": "YOUR_ADVERTISER_ID",
    "channelId": "123456",
    "clickId": "61f180ac133415.32320128",
    "value": 42.30,
    "currency": "EUR",
    "orderId": "W6234",
    "market": "SE",
    "discountCodes": "SPRING20,INFLUENCER10",
    "products": [
        {
            "item_id": "SKU-123",
            "item_name": "Running Shoes",
            "price": 29.90,
            "quantity": 1,
            "category": "Shoes"
        },
        {
            "item_id": "SKU-456",
            "item_name": "Sports Socks",
            "price": 12.40,
            "quantity": 1,
            "category": "Accessories"
        }
    ]
}

Integratie met bestaande systemen

Als je al een tool of platform voor server-side tracking gebruikt, is integratie met Addrevenue in de meeste gevallen mogelijk zonder grote aanpassingen.

Zolang de benodigde gegevens in de postback kunnen worden doorgegeven, kunnen we de redirect vaak aanpassen aan het formaat dat je nodig hebt, terwijl de postback naar ons ons schema volgt.

Platformondersteuning

Onze plugins voor WooCommerce en Shopify zullen binnenkort standaard server-side tracking ondersteunen. Voor velen betekent dit dat de implementatie met aanzienlijk minder interne ontwikkeling kan worden uitgevoerd.

Samenvatting

Server-side tracking is een flexibele en robuuste manier om conversies aan Addrevenue te rapporteren, zowel voor uitgestelde conversies als voor reguliere e-commerce. Het belangrijkste bij de implementatie is dat je de clickId, advertiserId en channelId vastlegt en opslaat wanneer de gebruiker je website bezoekt, en dat deze gegevens naar Addrevenue worden teruggestuurd wanneer de conversie plaatsvindt. Voor e-retailers is er ook de mogelijkheid om dit aan te vullen met discountCodes en products wanneer er behoefte is aan het bijhouden van kortingscodes, productstatistieken of meer gedetailleerde commissieregels.