Partnerize
Datafly Signal delivers conversions to Partnerize (formerly Performance Horizon) server-to-server using the prf.hn conversion API. Sales are recorded against the stored last-click clickref, so partner commissions track accurately without a client-side tracking tag and without being affected by ad blockers or cookie deletion.
Prerequisites
Before configuring Partnerize in Signal you need:
- An active Partnerize campaign with server-to-server (S2S / API) tracking enabled. Contact your Partnerize account manager to confirm S2S tracking is switched on for the campaign before you go live.
- Your campaign reference (camref). Find it in the Partnerize console under Admin > Publisher. This is the only credential — Partnerize S2S tracking has no API key or secret.
- Your site must capture the
clickrefURL parameter on landing pages and store it as a first-party cookie, then make it available to Signal at the point of sale (see Capturing the clickref below).
Partnerize records conversions only — there is no page-view or browsing event to send. Signal delivers a single conversion call when an order completes.
Configure in Signal
Configuration Fields
| Field | Required | Description |
|---|---|---|
campaign | Yes | Your Partnerize campaign reference (camref), from Admin > Publisher in the Partnerize console. |
Management UI Setup
Add the integration
Go to Integrations > Add Integration > Partnerize.
Choose a preset
Select the Retail preset for standard e-commerce conversion tracking.
Enter your campaign reference
Paste your campaign (camref) value.
Select consent categories
Partnerize affiliate tracking is typically classified under marketing / advertising. Select the categories that apply to your consent configuration.
Save
Click Save. Signal will start delivering completed orders to Partnerize.
API Endpoint
Partnerize conversions are sent as a server-to-server call to the prf.hn tracking host. Parameters are expressed as colon-delimited path segments:
GET https://prf.hn/conversion/tracking_mode:api/campaign:{campaign}/clickref:{clickref}/conversionref:{order_id}/currency:{currency}/customertype:{new|existing}/voucher:{voucher}/conversion_time:{YYYY-MM-DD+HH:MM:SS}/[category:{category}/sku:{sku}/value:{value}/quantity:{quantity}]tracking_mode:apimarks the call as server-to-server.campaignis your camref.clickrefis the last-click reference that awards commission.conversionrefis your order ID.- Each line item is wrapped in its own
[ ... ]container; multiple items are appended one after another, e.g.[sku:A/value:10.00/quantity:2][sku:B/value:40.00/quantity:1].
A 200 response means the conversion was accepted.
Identity Signals
Partnerize attribution is click-based, not identity-based — it does not use hashed email or phone. The single identifier that matters is the clickref.
Capturing the clickref
When a partner sends a visitor to your site, Partnerize appends a clickref URL parameter to the landing-page URL. You must:
- Read the
clickrefquery parameter on every landing page. - Store the most recent value in a first-party cookie (last click wins).
- Replay that stored value to Signal on the
Order Completedevent so it can be sent asclickrefin the conversion call.
Signal reads the click reference from vendor_ids.partnerize_clickref. Surface the stored cookie value into the Signal event under that key (for example via a server-side enrichment or by passing it on the track call).
If the clickref is missing, Partnerize cannot attribute the sale to a partner and no commission is awarded. Confirm your clickref capture and cookie storage before going live.
Event Mapping
Retail preset
| Signal event | Partnerize call |
|---|---|
Order Completed | conversion (S2S) |
All other events (including page) are dropped — Partnerize records conversions only.
Conversion field mapping
| Signal source | Partnerize parameter |
|---|---|
vendor_ids.partnerize_clickref | clickref |
properties.order_id | conversionref |
properties.revenue | value |
properties.currency | currency |
properties.quantity | quantity |
properties.coupon | voucher |
properties.customer_type | customertype |
context.geo.country | country |
timestamp | conversion_time |
properties.products | item containers (sku, value, quantity, category) |
Example: Order Completed
Datafly.js call:
datafly.track("Order Completed", {
order_id: "ORD-001",
revenue: 129.99,
currency: "GBP",
coupon: "SAVE10",
customer_type: "new",
products: [
{ sku: "SKU-A", category: "shoes", price: 49.99, quantity: 2 },
{ sku: "SKU-B", category: "bags", price: 30.01, quantity: 1 }
]
});Partnerize conversion call sent by Signal:
GET https://prf.hn/conversion/tracking_mode:api/campaign:1101l1234/clickref:def456abc/conversionref:ORD-001/currency:GBP/customertype:new/voucher:SAVE10/conversion_time:2026-06-06+18:33:03/[category:shoes/sku:SKU-A/value:49.99/quantity:2][category:bags/sku:SKU-B/value:30.01/quantity:1]Testing Your Integration
Trigger a test order
Place a test order on your site after arriving via a Partnerize tracking link (so a real clickref is captured), or replay a known clickref value.
Check Signal’s event debugger
Confirm the Order Completed event resolved to a conversion call with a populated clickref, conversionref, value and currency.
Verify in the Partnerize console
Log in to the Partnerize console and check the conversion appears under the campaign’s transaction/sales reporting. Partnerize tracks sales in real time as the S2S call is made.
Troubleshooting
| Problem | Solution |
|---|---|
| Conversion not appearing in Partnerize | Confirm S2S / API tracking is enabled on the campaign. Verify the campaign (camref) is correct. |
| Sale recorded but no commission | The clickref was missing or stale. Check your landing-page clickref capture and first-party cookie storage. |
400 errors | Required parameters (clickref, conversionref) are missing or the conversion path is malformed. Review the call in Signal’s event debugger. |
| Wrong order value | Confirm whether your campaign expects per-item value (multiplied by quantity) or a single basket total, and map revenue accordingly. |
| Duplicate conversions | Ensure Order Completed fires once per order; Partnerize de-duplicates on conversionref (order id). |