PHP integrácia Facebook Conversion API

Facebook Conversion API je doplnok / služba, ktorá pomáha získavať údaje o užívateľoch na vašich stránkach. Zjednodušene napísané, je to čosi podobné ako známejší Facebook Pixel. Pokiaľ však užívateľ používa prehliadač blokujúci rôzne funkcie, dáta z prehliadača teda nezískate (Pixel funguje na spúštaní javascriptového kódu v tele webu a blokátori javascriptu, ukladania cookies a podobne blokujú aj samotný Pixel). Dáta na úrovni serverového pripojenia však takto nestratíme. Odporúčaná je vzájomná kombinácia Facebook Pixel a Facebook Conversion API.

PHP integrácia Facebook Conversion API

Schéma fungovania Facebook Pixel a Facebook Conversion API

Nebudem ďalej písať o nastavení Facebook Conversion API na strane Facebooku. Takýchto článkov je viacej a preto sa zameriam výlučne na ukážku PHP integrácie, na ktorú sa ma často pýtate. Mnohé webové platformy poskytujú tieto funkcie a stačí zadať len API kľúč. Pokiaľ však máte web postavený na vlastnom riešení, alebo chcete aspoň pochopiť pozadie fungovania tejto služby, nižšie nájdete ukážku PHP kódu.

 

<?php

$url = "https://graph.facebook.com/v10.0/PIXEL_ID/events?access_token=ACCES_TOKEN";

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$headers = array("content-type: application/json",);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

$data = '{
    "data": [
        {
            "event_name": "PageView",
            "event_time": '.time().',
            "event_id": "event.id.'.$ukaz['id'].'",
            "event_source_url": "https://www.domena.sk/produktABC", 
            "user_data": {
                "client_ip_address": "'.$_SERVER['REMOTE_ADDR'].'",
                "client_user_agent": "'.$_SERVER['HTTP_USER_AGENT'].'",
                "country": "'.hash('sha256', 'sk').'",
                "fbp": "'.$_COOKIE['_fbp'].'"
            }
        }
    ],
    "test_event_code":"PRODTESTABC"
}';




curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$resp = curl_exec($curl);
curl_close($curl);

var_dump($resp);

?>

Ukážka začína nastavením URL, na ktorú data zasielame. V nej sú dve premenné a to Pixel ID a Access Token, prípadne samotná verzia.

Všimnime si potom časť pre údaje. Z príkladu je asi všetko jasné. V tejto ukážke užívateľské údaje tvorí IP adresa, informácie o prehliadači, krajina a Facebooku užívateľa. Samozrejme pri evente potvrdzujúci nákup (Purchase) budeme mať viac údajov o užívateľovi (napríklad e-mail, telefónne číslo, meno a priezvisko, pohlavie, dátum narodenia, adresu atď...). Viac o užívateľských parametroch:

https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters

 

Na záver môžeme vypísať cez var_dump výstup. Ak máme všetko správne nastavené, tak odpoveď by mohla vyzerať nasledovne:

string(74) "{"events_received":1,"messages":[],"fbtrace_id":"Akes_0MLQLzgqO75-STvD874pM"}"

Zo skúseností odporúčam dôslednú kontrolu a úpravu vstupných údajov presne podľa dokumentácie – príklad pre parameter emailu nižšie. Mnohé údaje vyžadujú SHA256 hash.

Vstup od užívateľa: Daniel.Kubinsky@gmail.com
Upravený vstup: daniel.kubinsky@gmail.com
SHA256 výstup: d9d73802fd46d7feaf364ee86abcb385a0f2a1342f6f8732267833ba4bfcb727

 

Popis všetkých parametrov nájdeme na webe vývojára

https://developers.facebook.com/docs/marketing-api/conversions-api/parameters

Pridať komentár k článku