Cum să configurați Postback pentru CPAlead.com Offerwall: Un ghid simplu

Autor: CPAlead

Actualizat Friday, September 20, 2024 at 8:34 AM CDT

Cum să configurați Postback pentru CPAlead.com Offerwall: Un ghid simplu

Configurarea unui postback este cea mai fiabilă metodă de a recompensa automat utilizatorii atunci când completează oferte în CPAlead Offerwall-ul tău. În loc să verifici manual conversiile, CPAlead trimite o cerere server-to-server către endpoint-ul tău de fiecare dată când este creat un lead eligibil.

Cea mai sigură configurare este simplă: transmite propria referință de utilizator sau tranzacție în {subid}, stochează {lead_id} astfel încât reluările să nu acorde credit de două ori pentru aceeași conversie și recompensează folosind {payout}. În majoritatea cazurilor, asta este tot ce ai nevoie pentru lansare.

Ce face de fapt un postback pentru publisher

Când un utilizator apasă pe URL-ul tău de tracking CPAlead și completează o ofertă, CPAlead poate apela serverul tău cu datele conversiei. Asta permite aplicației, site-ului sau jocului tău să recompenseze automat utilizatorul, fără ca cineva să fie nevoit să verifice conversiile manual.

  • Recompensează automat utilizatorii: creditează puncte, sold, monede sau acces premium imediat ce este înregistrată o conversie.
  • Păstrează propriul registru: stochează fiecare conversie în propria bază de date pentru finanțe, suport și analiză.
  • Evită recompensele duplicate: folosește {lead_id} unic de la CPAlead pentru a ignora în siguranță reluările.
  • Urmărește context mai bogat: include valori opționale precum țara, IP-ul, ID-uri de dispozitiv sau subid-uri suplimentare dacă fluxul tău de lucru are nevoie de ele.

Pasul 1: Transmite propria referință în URL-ul Offerwall-ului

Înainte să te preocupi de URL-ul postback, asigură-te că URL-ul original de tracking CPAlead conține propriul tău identificator în subid. Acesta poate fi un ID de utilizator, nume de utilizator, ID de portofel, cheie de sesiune sau orice referință internă pe care o folosești pentru a ști ce utilizator trebuie recompensat.

https://your-tracking-domain/view.php?id=1234&pub=1234&subid=USER_123

Dacă ai nevoie de context suplimentar, poți transmite și subid2 și subid3. De exemplu, unii publisheri folosesc subid pentru ID-ul utilizatorului, subid2 pentru plasarea în aplicație și subid3 pentru o campanie sau o etichetă de test A/B.

Pasul 2: Începe cu un URL de postback curat și fiabil

Multe configurări de postback eșuează pentru că pornesc prea larg. Păstrează prima versiune mică și de încredere. Acesta este un model solid de pornire pentru majoritatea publisherilor CPAlead:

https://example.com/postback/cpalead.php?subid={subid}&lead_id={lead_id}&campaign_id={campaign_id}&campaign_name={campaign_name}&payout={payout}&password={password}

Această versiune îți oferă câmpurile de care majoritatea publisherilor chiar au nevoie: cine trebuie recompensat, ce lead a convertit, ce ofertă a convertit, cât s-a plătit și un secret partajat pentru verificarea cererii.

Pasul 3: Înțelege macro-urile recomandate

  • {subid}: propriul tău ID de utilizator sau referință de tranzacție. Acesta îi spune sistemului tău cine trebuie să primească recompensa.
  • {lead_id}: ID-ul unic de conversie CPAlead. Acesta este cel mai bun câmp pentru protecție împotriva duplicatelor și siguranță la reluare.
  • {campaign_id}: ID-ul ofertei sau campaniei CPAlead.
  • {campaign_name}: numele ofertei sau campaniei CPAlead.
  • {payout}: suma plății pentru conversie. Majoritatea publisherilor ar trebui să folosească acest câmp ca intrare pentru recompensă.
  • {password}: secretul postback salvat, pe care endpoint-ul tău ar trebui să-l valideze înainte de a credita utilizatorul.

Macro-urile opționale includ {subid2}, {subid3}, {country_iso}, {ip_address}, {idfa}, {gaid} și {gateway_id}. CPAlead acceptă și aliasuri de compatibilitate precum {offer_id}, {offer_name}, {transaction_id}, {amount}, {ip} și {country_code}, dacă endpoint-ul tău existent așteaptă aceste nume.

O notă importantă: nu construi prima integrare în jurul {virtual_currency}. În fluxul standard de postback pentru publisheri CPAlead, acea valoare este de obicei 0. Dacă ai nevoie de puncte sau monedă din aplicație, este de obicei mai bine să le calculezi din {payout} în propriul tău sistem.

Pasul 4: Securizează corect endpoint-ul

Adaugă o parolă de postback în dashboard-ul CPAlead și include {password} în URL. Pe serverul tău, verific-o înainte de a recompensa utilizatorul. Aceasta este o metodă simplă și eficientă de a respinge cererile neautorizate.

Dacă serverul tău acceptă doar IP-uri aprobate, adaugă în whitelist IP-ul de relay afișat în dashboard-ul tău de postback CPAlead. Acesta este IP-ul de ieșire pe care CPAlead îl folosește pentru postback-urile publisherilor. Dacă sari peste whitelist-ul de IP-uri, validarea parolei devine și mai importantă.

Endpoint-ul tău ar trebui, de asemenea, să returneze rapid un răspuns HTTP 2xx odată ce conversia este procesată. Răspunsurile lente sau cele care nu sunt 2xx pot provoca reluări și erori de postback.

Pasul 5: Testează postback-ul înainte de a trimite trafic real

După ce salvezi URL-ul postback, folosește pagina de Postback Testing din dashboard-ul CPAlead. Un test bun confirmă patru lucruri:

  • Cererea ajunge la serverul tău. Dacă nu, verifică regulile de firewall, SSL, whitelist-ul de IP-uri sau formatul URL-ului.
  • Răspunsul este HTTP 2xx. Endpoint-ul tău ar trebui să returneze succes rapid după procesarea cererii.
  • Maparea utilizatorului este corectă. Confirmă că {subid} se mapează la utilizatorul sau portofelul potrivit din sistemul tău.
  • Protecția împotriva duplicatelor funcționează. Dacă același {lead_id} este trimis din nou, endpoint-ul tău ar trebui să-l ignore în loc să recompenseze utilizatorul de două ori.

După testare, verifică pagina Postback Logs din dashboard-ul CPAlead. Este cea mai rapidă modalitate de a confirma URL-ul destinație, codul de răspuns și orice erori de livrare care trebuie remediate.

Exemplu de script PHP

Mai jos este un exemplu de pornire mai sigur decât simpla actualizare a unui sold pe baza {subid} și {payout}. Validează parola, stochează unic {lead_id} pentru siguranță la reluare și folosește prepared statements în loc de SQL brut.

<?php

declare(strict_types=1);

const POSTBACK_PASSWORD = 'replace_with_your_secret';

$subid = trim((string) ($_GET['subid'] ?? ''));
$leadId = (int) ($_GET['lead_id'] ?? 0);
$campaignId = (int) ($_GET['campaign_id'] ?? 0);
$payout = (float) ($_GET['payout'] ?? 0);
$password = (string) ($_GET['password'] ?? '');

if (POSTBACK_PASSWORD !== '' && !hash_equals(POSTBACK_PASSWORD, $password)) {
    http_response_code(403);
    exit('Invalid postback password.');
}

if ($subid === '' || $leadId <= 0) {
    http_response_code(400);
    exit('Missing subid or lead_id.');
}

$pdo = new PDO('mysql:host=127.0.0.1;dbname=your_database;charset=utf8mb4', 'user', 'pass', [
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);

$pdo->beginTransaction();

try {
    $insert = $pdo->prepare(
        'INSERT INTO cpalead_postbacks (lead_id, user_id, campaign_id, payout, created_at)
         VALUES (:lead_id, :user_id, :campaign_id, :payout, NOW())'
    );
    $insert->execute([
        ':lead_id' => $leadId,
        ':user_id' => $subid,
        ':campaign_id' => $campaignId,
        ':payout' => $payout,
    ]);
} catch (PDOException $e) {
    if (($e->errorInfo[1] ?? null) === 1062) {
        $pdo->rollBack();
        http_response_code(200);
        exit('Duplicate lead ignored.');
    }

    $pdo->rollBack();
    throw $e;
}

$credit = $pdo->prepare('UPDATE users SET balance = balance + :amount WHERE id = :user_id');
$credit->execute([
    ':amount' => $payout,
    ':user_id' => $subid,
]);

if ($credit->rowCount() !== 1) {
    $pdo->rollBack();
    http_response_code(404);
    exit('User not found.');
}

$pdo->commit();
http_response_code(200);
echo 'OK';

Dacă folosești un sistem de puncte în loc de sold în bani, convertește {payout} în propriul tău raport de puncte înainte de a actualiza utilizatorul. De exemplu, dacă aplicația ta folosește 100 de puncte pentru fiecare $1,00 câștigat, calculează acea conversie în propriul cod, în loc să depinzi de un macro separat.

Ce se întâmplă dacă nu vrei creditare automată?

CPAlead suportă și o abordare de rezervă mai simplă pentru unii publisheri: poți cere vizitatorului un email sau un subID și poți verifica manual completările. Asta poate funcționa pentru proiecte foarte mici, dar este mai lent, mai ușor de creditat greșit și mult mai greu de scalat. Dacă vrei recompense fiabile pentru utilizatori, creditarea automată prin postback este opțiunea mai bună.

Sfaturi finale

  • Transmite întotdeauna propria referință de utilizator în {subid}.
  • Stochează și elimină întotdeauna duplicatele pe baza {lead_id}.
  • Folosește {payout} ca intrare principală pentru recompensă.
  • Validează {password} înainte de a credita.
  • Testează URL-ul și verifică Postback Logs înainte de a trimite trafic real.

Dacă urmezi acest model, configurarea postback-ului CPAlead Offerwall va fi mult mai ușor de întreținut, mai ușor de depanat și mult mai puțin probabil să acorde credit dublu utilizatorilor sau să piardă conversii.

Ați observat o eroare sau un aspect al acestei postări care necesită corecție? Vă rugăm să oferiți linkul postării și luați legătura cu noi. Apreciem părerea dvs. și vom aborda problema prompt.

Verificați ultimele noastre postări pe blog:

News CPAlead

CPAlead a avansat la un nou nivel!

Publicat: Apr 30, 2024

News CPAlead

Cum funcționează ofertele CPI?

Publicat: Mar 22, 2023