Integration

Keitaro + MassPartner: Send Affiliate Conversions to Keitaro

Add MassPartner as an affiliate network in Keitaro, pass the {subid} click ID in sub1 and send every status change back with one callback.

Key points

  1. Keitaro subid in sub1

    The affiliate network's offer parameters append sub1={subid} to every MassPartner offer automatically.

  2. One callback for every status

    {$status} plus Keitaro's status training turns pending, approved, rejected and refunded into lead, sale and rejected.

  3. Commission and currency

    {$commission} and {$currency} feed Keitaro's payout and currency, converted to your tracker currency.

  4. Retries and Send test

    Failed calls are retried after 5 minutes, 30 minutes and 2 hours, and Send test shows the exact URL and response.

To integrate Keitaro with MassPartner, create MassPartner as an affiliate network in Keitaro with the offer parameter &sub1={subid}, then add a MassPartner callback that calls your Keitaro postback URL with subid={$sub1}, status={$status} and payout={$commission}. Keitaro records each conversion on the original click and updates it as the brand approves, rejects or refunds it.

This guide is for media buyers who run traffic through Keitaro and promote brands from MassPartner, which is free to join for affiliates. For the basics, read what a postback URL is. The same setup is documented for Voluum, RedTrack and Binom.

How the Keitaro integration works

Keitaro's click ID is subid, available in offer URLs as the {subid} macro. You pass it to MassPartner in the sub1 sub ID, MassPartner stores it with the click and the conversion, and the callback returns it with {$sub1}. MassPartner's own {$clickid} means nothing to Keitaro, so don't send it as subid.

Keitaro needs two values in every postback: subid and status. Without them it can't process the request (Keitaro postback docs).

Set up the Keitaro integration in four steps

Step 1: Add MassPartner as an affiliate network in Keitaro

  1. Open Affiliate Networks and click Create.
  2. Enter "MassPartner" as the Name.
  3. In Offer parameters, enter &sub1={subid}. Keitaro adds these parameters to each offer URL of the network.
  4. Optional: paste your finished callback URL from step 3 into Postback URL for reference. Keitaro notes this field is for convenience and doesn't change tracker settings.

See Keitaro's guide to affiliate networks, which uses the same sub1={subid} example.

Step 2: Create the offer with Keitaro's subid in sub1

Create an offer, select MassPartner as the affiliate network and paste your MassPartner tracking link into the URL field. The network adds &sub1={subid}, so the final link looks like this:

YOUR_MASSPARTNER_TRACKING_LINK&sub1={subid}

Set the payout to come from the postback's payout parameter rather than a fixed amount (Keitaro: creating offers). MassPartner keeps sub values up to 255 characters and shows them in your click and conversion reports. Keep sub1 for the click ID everywhere, as explained in our guide to sub ID tracking.

Step 3: Create the MassPartner callback with your Keitaro postback URL

Copy the postback URL from Settings → Postback URL. Its path contains a postback key that protects the tracker from fake requests. In the MassPartner dashboard, open Callbacks, click Add callback, choose GET and build the URL like this:

https://your-keitaro-domain.com/POSTBACK_KEY/postback?subid={$sub1}&status={$status}&payout={$commission}&currency={$currency}&lead_status=pending&sale_status=approved&rejected_status=rejected,refunded

Tick Conversion created, Conversion approved, Conversion rejected and Refund. MassPartner's {$status} is pending, approved, rejected or refunded. The *_status parameters are Keitaro's status training: they map those values to Keitaro's base statuses, and the original value stays visible in the conversion log.

MassPartner {$status} Keitaro status Effect in Keitaro
pending lead Revenue shown as hold
approved sale Confirmed revenue
rejected rejected Payout canceled
refunded rejected Payout canceled

A later postback for the same subid overwrites the earlier conversion, which is how a lead becomes a sale. A conversion only moves to statuses listed in its Next statuses under Settings → Conversion types, so check that rejected is allowed after sale if refunds should cancel revenue (Keitaro conversion types).

On RevShare offers, one click can earn several commissions. Add &tid={$conversionid}: Keitaro records a postback with a unique tid as a separate conversion instead of overwriting the first one.

currency takes codes such as usd or EUR, and Keitaro converts the payout to the currency set in Settings → General → Currency. Prefer a simpler setup? Create one callback per event with a fixed status=lead, status=sale or status=rejected instead of training parameters.

Step 4: Test with Send test and a real click

  1. Click Send test next to the callback. MassPartner sends sample values (test_sub1 as the sub ID, an approved 10.00 USD commission) and shows the delivery result, HTTP code and exact URL. Keitaro has no click with that subid, so a "Click for subid … not found" entry in Maintenance → Logs → Postbacks means the request arrived with a valid key.
  2. Keitaro warns that network test postbacks never carry a real subid. Open your campaign link, check that MassPartner's click report shows the subid in sub1, then complete a real conversion or ask the brand to approve a test one.
  3. Confirm the conversion, status and payout in Keitaro's conversion log.

Parameter mapping

MassPartner placeholder Keitaro parameter Notes
{$sub1} subid Required. Holds Keitaro's {subid} from the offer URL
{$status} status Required. Mapped with lead_status, sale_status, rejected_status
{$commission} payout Your commission; negative values are also supported
{$currency} currency Converted to the tracker currency
{$conversionid} tid Separate conversion per MassPartner conversion
{$orderid}, {$sub2} sub_id_1 to sub_id_30 Optional extra click data
{$clickid} Not used MassPartner's own click ID

Troubleshooting

Keitaro's postback troubleshooting guide lists the log messages below. MassPartner's callback list shows each callback's failures and last error.

Keitaro log or symptom Likely cause Fix
No log entries Callback not saved or wrong domain Check the callback URL and events
"Incorrect postback code" Old or mistyped postback key Copy the key again from Settings → Postback URL
"Postback status is not set" status missing Add status={$status}
"Conversion type not found" Status value without a matching type Add the training parameters or create the type
"Click for subid … not found" on real conversions sub1={subid} missing from the offer URL Check the network's offer parameters
"Conversion cannot transition to sale…" Status transition not allowed Review Next statuses in Settings → Conversion types
Callback marked failed in MassPartner Timeout after 5 seconds, HTTP 5xx, 408 or 429 Retried after 5 minutes, 30 minutes and 2 hours; other 4xx errors are not retried

Track MassPartner offers in Keitaro

Find a program in the affiliate programs directory and add the callback once: it covers every brand you promote. The callback docs list all placeholders, and our guide to sending affiliate postbacks to a tracker compares Keitaro with other trackers.

FAQ

What is the Keitaro postback URL for MassPartner?

It is the URL from Settings → Postback URL, including your postback key, with subid={$sub1}, status={$status}, payout={$commission} and currency={$currency}. Add the status training parameters if you send more than approved conversions.

Which macro passes the Keitaro click ID to MassPartner?

{subid}, placed in sub1 through the affiliate network's offer parameters (&sub1={subid}). The callback sends it back with {$sub1}.

Can Keitaro update a conversion when MassPartner rejects or refunds it?

Yes. A later postback for the same subid with status=rejected overwrites the conversion, as long as the transition is allowed in Settings → Conversion types.

Why does Keitaro show only one conversion for several RevShare sales?

Without a transaction ID, each postback for the same subid overwrites the previous one. Add tid={$conversionid} so each MassPartner conversion is recorded separately.

Does the integration cost anything on the MassPartner side?

No. MassPartner is free for affiliates and callbacks are included. You need your own Keitaro license.

For affiliates

Send every MassPartner conversion to your tracker

Joining MassPartner is free for affiliates: tracking links with sub-IDs, callbacks to your tracker with automatic retries, and real-time stats.