Ga naar de inhoud

Facebook Conversion

Manuele Tracking

Wanneer het tracken van Search, Add To Cart, en Purchases events niet genoeg is, kunnen gebeurtenissen worden verzonden via een Twig-functie in je sjablonen.

Twig-functie

Servergebeurtenissen kunnen handmatig worden verzonden met de fbEvent Twig-functie.

Bijvoorbeeld:

{{ fbEvent('Purchase', {
    'email': 'jack@mail.com',
    'first_name': 'Jack',
    'last_name': 'Timberlake'
}, {
    'currency': 'EUR',
    'value': 20,
},
'event_id-1') }}
  • De eerste parameter is de Event Name. Zowel aangepaste gebeurtenissen als standaardgebeurtenissen worden ondersteund. (Verplicht)
  • De tweede parameter is Customer Information. Standaard worden de al bekende gebruikersgegevens (van een eerdere aankoop of fbclid) gebruikt. Voeg alleen de informatie toe wanneer je zeker weet dat deze de nieuwste gegevens bevat. (Optioneel)
  • De derde parameter is de Aangepaste Gegevens. (Optioneel)
  • De vierde parameter is de Gebeurtenis-ID, gebruikt door Facebook om dezelfde gebeurtenis te dedupliceren die van zowel server als browser wordt verzonden. (Optioneel)

Alle "Customer Information" en "Custom Data" parameters worden ondersteund, voor een volledige lijst, check de Facebook Documentatie. De "Main Body" en "Server Event" parameters worden afgehandeld door de Plugin. Hashing wordt ook afgehandeld door de Plugin en mag niet worden uitgevoerd in de Twig-functie.

Pageview voorbeeld

Wanneer je de "Pageview" events via de Server wilt verzenden, en niet via de Client, gebruik dan de eenvoudigste Twig-functie:

{{ fbEvent('Pageview') }}

De gekende info van de bezoeker wordt automatisch toegevoegd en er zijn geen aangepaste gegevens nodig voor het "Pageview" event.

WAARSCHUWING

Als je een Pageview Event via de server verstuurt, zorg er dan zeker voor dat je de Pageview niet via de client verstuurt. Verwijder de Facebook Pixel (of de Template Hook) van je template. Of gebruik hetzelfde Event ID voor zowel het Client- als Server Event.

Pagina caching

Wanneer de pagina wordt gecachet door Blitz, Nginx, Varnish of een CDN, wordt de Twig-functie niet geactiveerd. In dat geval moet je een JavaScript-verzoek doen naar een dynamisch deel van je website. Een eenvoudige manier om dit te doen is door een dynamische map in je sjablonen te maken en deze uit te sluiten van je cache.

Maak een bestand (bvb. viewevent.twig) in de uitgesloten map en plak de Twig-functie die je zou gebruiken erin:

{{ fbEvent('Pageview') }}

Nu zou op elke pagina de gebeurtenis moeten worden geactiveerd, vraag het niet-gecachte fragment aan. Bijvoorbeeld:

<script type="text/javascript">
fetch('/dynamic/viewevent');
</script>

In het voorbeeld gebruiken we de javascript fetch functie, maar hetzelfde kan ook worden bereikt met de Ajax-functie van jQuery of andere methoden.