Cách Thiết Lập Postback cho CPAlead.com Offerwall: Hướng Dẫn Đơn Giản

Tác Giả: CPAlead

Cập Nhật Friday, September 20, 2024 at 8:34 AM CDT

Cách Thiết Lập Postback cho CPAlead.com Offerwall: Hướng Dẫn Đơn Giản

Thiết lập postback là cách đáng tin cậy nhất để tự động thưởng cho người dùng khi họ hoàn thành các offer trong CPAlead Offerwall của bạn. Thay vì kiểm tra conversion thủ công, CPAlead sẽ gửi một yêu cầu server-to-server đến endpoint của bạn mỗi khi một lead hợp lệ được tạo.

Thiết lập an toàn nhất rất đơn giản: truyền tham chiếu user hoặc giao dịch của riêng bạn vào {subid}, lưu {lead_id} để các lần thử lại không cộng thưởng trùng cho cùng một conversion, và thưởng dựa trên {payout}. Trong hầu hết các trường hợp, đó là tất cả những gì bạn cần để bắt đầu.

Postback của Publisher Thực Sự Làm Gì

Khi người dùng nhấp vào URL tracking CPAlead của bạn và hoàn thành một offer, CPAlead có thể gọi server của bạn với dữ liệu conversion. Điều đó cho phép ứng dụng, website hoặc game của bạn tự động thưởng cho người dùng mà không cần ai phải xem xét conversion bằng tay.

  • Tự động thưởng cho người dùng: cộng điểm, số dư, xu hoặc quyền truy cập premium ngay khi conversion được ghi nhận.
  • Giữ sổ sách của riêng bạn: lưu từng conversion vào cơ sở dữ liệu của bạn để phục vụ tài chính, hỗ trợ và phân tích.
  • Tránh thưởng trùng lặp: dùng {lead_id} duy nhất của CPAlead để bỏ qua an toàn các lần thử lại.
  • Theo dõi ngữ cảnh phong phú hơn: bao gồm các giá trị tùy chọn như quốc gia, IP, ID thiết bị hoặc subid bổ sung nếu quy trình của bạn cần chúng.

Bước 1: Truyền Tham Chiếu Của Bạn Trong URL Offerwall

Trước khi lo về URL postback, hãy নিশ্চিত bảo URL tracking CPAlead ban đầu có chứa mã định danh của riêng bạn trong subid. Đây có thể là user ID, tên người dùng, wallet ID, session key hoặc bất kỳ tham chiếu nội bộ nào bạn dùng để biết người dùng nào nên được thưởng.

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

Nếu bạn cần thêm ngữ cảnh, bạn cũng có thể truyền subid2subid3. Ví dụ, một số publisher dùng subid cho user ID, subid2 cho vị trí trong app, và subid3 cho chiến dịch hoặc nhãn A/B test.

Bước 2: Bắt Đầu Với Một URL Postback Sạch Và Đáng Tin Cậy

Rất nhiều thiết lập postback thất bại vì chúng bắt đầu quá rộng. Hãy giữ phiên bản đầu tiên nhỏ gọn và ổn định. Đây là một mẫu khởi đầu vững chắc cho hầu hết publisher 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}

Phiên bản này cung cấp cho bạn những trường mà hầu hết publisher thực sự cần: ai cần được thưởng, lead nào đã chuyển đổi, offer nào đã chuyển đổi, nó trả bao nhiêu, và một bí mật dùng chung để xác minh yêu cầu.

Bước 3: Hiểu Các Macro Được Khuyến Nghị

  • {subid}: user ID hoặc tham chiếu giao dịch của bạn. Trường này cho hệ thống biết ai sẽ nhận phần thưởng.
  • {lead_id}: ID conversion duy nhất của CPAlead. Đây là trường tốt nhất để chống trùng lặp và đảm bảo an toàn khi retry.
  • {campaign_id}: ID offer hoặc campaign của CPAlead.
  • {campaign_name}: tên offer hoặc campaign của CPAlead.
  • {payout}: số tiền thanh toán cho conversion. Hầu hết publisher nên dùng trường này làm đầu vào phần thưởng.
  • {password}: bí mật postback đã lưu của bạn, endpoint nên xác thực trước khi cộng thưởng cho người dùng.

Các macro tùy chọn bao gồm {subid2}, {subid3}, {country_iso}, {ip_address}, {idfa}, {gaid}, và {gateway_id}. CPAlead cũng hỗ trợ các alias tương thích như {offer_id}, {offer_name}, {transaction_id}, {amount}, {ip}, và {country_code} nếu endpoint hiện tại của bạn mong đợi những tên đó.

Một lưu ý quan trọng: đừng xây dựng tích hợp đầu tiên của bạn dựa trên {virtual_currency}. Trong luồng postback publisher tiêu chuẩn của CPAlead, giá trị đó thường là 0. Nếu bạn cần điểm hoặc tiền tệ trong ứng dụng, tốt hơn hết là tính chúng từ {payout} ngay trong hệ thống của bạn.

Bước 4: Bảo Mật Endpoint Một Cách Đúng Đắn

Thêm mật khẩu postback trong dashboard CPAlead của bạn và bao gồm {password} trong URL. Trên server của bạn, hãy xác minh nó trước khi thưởng cho người dùng. Đây là một cách đơn giản và hiệu quả để từ chối các yêu cầu trái phép.

Nếu server của bạn chỉ chấp nhận IP được phê duyệt, hãy whitelist relay IP được hiển thị trong dashboard postback CPAlead của bạn. Đó là IP đầu ra mà CPAlead dùng cho publisher postback. Nếu bạn bỏ qua việc whitelist IP, việc xác thực mật khẩu càng trở nên quan trọng hơn.

Endpoint của bạn cũng nên trả về phản hồi HTTP 2xx nhanh sau khi conversion được xử lý. Phản hồi chậm hoặc phản hồi không phải 2xx có thể gây retry và lỗi postback.

Bước 5: Kiểm Tra Postback Trước Khi Gửi Traffic Thật

Sau khi lưu URL postback của bạn, hãy dùng trang Postback Testing trong dashboard CPAlead của bạn. Một bài test tốt sẽ xác nhận bốn điều:

  • Yêu cầu đến được server của bạn. Nếu không, hãy kiểm tra quy tắc firewall, SSL, whitelist IP hoặc định dạng URL của bạn.
  • Phản hồi là HTTP 2xx. Endpoint của bạn nên trả về thành công nhanh chóng sau khi xử lý yêu cầu.
  • Ánh xạ user của bạn là chính xác. Xác nhận rằng {subid} khớp với đúng user hoặc wallet trong hệ thống của bạn.
  • Chống trùng lặp hoạt động. Nếu cùng một {lead_id} được gửi lại, endpoint của bạn nên bỏ qua thay vì thưởng cho người dùng hai lần.

Sau khi test, hãy xem trang Postback Logs trong dashboard CPAlead của bạn. Đây là cách nhanh nhất để xác nhận URL đích, mã phản hồi và mọi lỗi phân phối cần được sửa.

Ví Dụ Script PHP

Dưới đây là ví dụ khởi đầu an toàn hơn so với việc chỉ đơn giản cập nhật số dư từ {subid}{payout}. Nó xác thực mật khẩu, lưu {lead_id} một cách duy nhất để an toàn khi retry, và dùng prepared statements thay vì SQL thô.

<?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';

Nếu bạn dùng hệ thống điểm thay vì số dư tiền mặt, hãy chuyển đổi {payout} sang tỷ lệ điểm của riêng bạn trước khi cập nhật người dùng. Ví dụ, nếu app của bạn dùng 100 điểm cho mỗi $1.00 kiếm được, hãy tính chuyển đổi đó ngay trong code của bạn thay vì phụ thuộc vào một macro riêng.

Nếu Bạn Không Muốn Tự Động Cộng Thưởng Thì Sao?

CPAlead cũng hỗ trợ một cách dự phòng đơn giản hơn cho một số publisher: bạn có thể yêu cầu khách truy cập nhập email hoặc subID rồi xem xét các lượt hoàn thành thủ công. Cách đó có thể hoạt động cho các dự án rất nhỏ, nhưng chậm hơn, dễ cộng thưởng sai hơn, và khó mở rộng hơn nhiều. Nếu bạn muốn thưởng người dùng đáng tin cậy, cộng thưởng tự động qua postback là lựa chọn tốt hơn.

Mẹo Cuối Cùng

  • Luôn truyền tham chiếu user của riêng bạn trong {subid}.
  • Luôn lưu và chống trùng trên {lead_id}.
  • Dùng {payout} làm đầu vào phần thưởng chính.
  • Xác thực {password} trước khi cộng thưởng.
  • Kiểm tra URL và xem Postback Logs trước khi gửi traffic thật.

Nếu bạn làm theo mẫu đó, thiết lập postback CPAlead Offerwall của bạn sẽ dễ bảo trì hơn nhiều, dễ gỡ lỗi hơn, và ít có khả năng cộng thưởng trùng cho người dùng hoặc làm mất conversion hơn.

Bạn có nhận thấy lỗi hoặc một khía cạnh của bài viết này cần được sửa chữa không? Vui lòng cung cấp liên kết bài viết và liên hệ với chúng tôi. Chúng tôi đánh giá cao phản hồi của bạn và sẽ xử lý vấn đề một cách nhanh chóng.

Xem các bài viết mới nhất của chúng tôi:

News CPAlead

CPAlead đã Lên Cấp!

Đã Xuất Bản: Apr 30, 2024

News CPAlead

Vui lòng Để lại Đánh giá cho CPAlead

Đã Xuất Bản: Aug 13, 2021

News CPAlead

Chúc mừng ngày lễ từ CPAlead

Đã Xuất Bản: Dec 15, 2020