← Back to Documentation

Keitaro Integration

Complete guide to integrate BackNova with Keitaro tracker for conversion tracking.

Traffic Source → Keitaro → Your Landing → BackNova API → PP/Offer
                    ↑                                                    ↓
                    ←←←←←←← Postback (conversion) ←←←←←←←←←

Step 1: Configure Keitaro Campaign

1.1 Add BackNova as "Affiliate Network" (optional)

In Keitaro: Affiliate Networks → Create

https://api.backnova.xyz/api/postback?api_key=YOUR_API_KEY&click_id={subid}&status={status}&payout={payout}

1.2 Create Your Offer

When creating offer in Keitaro, your landing page URL should include the {subid} macro:

https://your-landing.com/?click_id={subid}

This passes Keitaro's click ID to your landing page.

Step 2: Landing Page Setup

2.1 Install tracker.js

Add to your landing page:

<script src="https://backnova.xyz/cdn/sdk.js" data-key="YOUR_API_KEY"></script>

2.2 Pass click_id in Form

The click_id from URL will be automatically captured. For manual setup:

<form id="leadForm">
  <input type="hidden" name="click_id" id="click_id">
  <!-- other fields -->
</form>

<script>
  const urlParams = new URLSearchParams(window.location.search);
  document.getElementById('click_id').value = urlParams.get('click_id') || '';
</script>

Or use our helper:

BackNovaTracker.attachToForm('#leadForm');

Step 3: Send Lead to BackNova

When form is submitted, send data to BackNova API:

const response = await fetch('https://api.backnova.xyz/api/v1/decision', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_API_KEY'
  },
  body: JSON.stringify({
    email: formData.email,
    phone: formData.phone,
    name: formData.name,
    source: 'keitaro_campaign_1',
    geo: 'US',
    click_id: formData.click_id,  // ← Keitaro's subid
    ...BackNovaTracker.getData()
  })
});

const result = await response.json();
// result.event_id - BackNova's internal ID (for reference)
// result.route_url - where to send the lead
Important: The click_id you send here will be forwarded back to Keitaro when conversion happens.

Step 4: Configure Postback Forward in BackNova

In BackNova Dashboard → API → Tracker Postback Forward:

For Keitaro, use this URL format:

https://YOUR_KEITARO_DOMAIN/POSTBACK_KEY/postback?subid={click_id}&status={status}&payout={payout}

Replace:

Available Tokens

TokenDescription
{click_id}Original Keitaro subid
{event_id}BackNova event ID
{status}Conversion status (approved/pending/rejected)
{payout}Payout amount

Step 5: PP Sends Postback to BackNova

Configure your PP/CPA network to send postbacks to:

https://api.backnova.xyz/api/postback?api_key=YOUR_API_KEY&click_id={CLICK_ID}&status={STATUS}&payout={PAYOUT}

Complete Flow Example

  1. User clicks ad → Keitaro assigns subid=abc123
  2. User lands on page → URL: landing.com/?click_id=abc123
  3. User submits form → You send to BackNova with click_id: abc123
  4. BackNova returns → routes lead to PP with click_id: abc123
  5. PP converts lead → PP sends postback to BackNova with click_id=abc123
  6. BackNova forwards → Sends to Keitaro: ?subid=abc123&status=approved&payout=50
  7. Keitaro records → Conversion appears in your Keitaro stats!

Troubleshooting

Conversions not showing in Keitaro

  1. Check click_id is passed - Open browser console, verify click_id is in form data
  2. Check BackNova received click_id - In BackNova dashboard, check event details
  3. Check postback URL - Verify Keitaro postback URL is correct
  4. Check Keitaro logs - Maintenance → Logs → Postbacks

Status Mapping

BackNova normalizes statuses when forwarding to Keitaro:

PP StatusForwarded as
approved, sale, ftdsale
pending, lead, holdlead
rejected, trashrejected
Need Help?

Contact us on Telegram