JVZoo Knowledgebase

How can we help?

Setting Up Server-to-Server Tracking

 


Why Use Server-to-Server Tracking?

Server-to-Server (S2S) tracking allows you to send conversion data directly to your tracking platforms or ad platforms for better campaign optimisation. This automated data flow helps you scale successful campaigns, identify profitable traffic sources, and make data-driven decisions to improve your ROI — all without manual reporting or guesswork.


Introduction

Server-to-Server tracking is a postback system that automatically sends event data from JVZoo to your external tracking platform. You can track two types of events:

  • Purchase — fires when a transaction is completed
  • Initiated — fires when an affiliate's visitor lands on a checkout page

You can set up multiple postback configurations, each with its own URL, type, filters, and product scope. This gives you precise control over what gets tracked and where.


Setting Up Your First Postback

Step 1: Access S2S Postback Settings

  1. Log in to your JVZoo account
  2. Click My Account > Account Details
  3. Scroll down to Affiliate Settings
  4. Click Manage S2S Postbacks

You'll see your existing postback configurations here (if any), along with their name, URL, type, status, product scope, filters, and last call status.


Step 2: Add a New Postback

Click Add New Postback to open the configuration form.


Step 3: Configure Your Postback

Name

Give this postback a clear, descriptive name so you can identify it later — for example, RedTrack - Purchase or Google Ads - Checkout Visit.


Type

Choose what event this postback should fire on:

Type When It Fires
Purchase After a successful transaction is completed
Initiated When a visitor lands on the checkout page

Each type has its own set of available placeholders — see the full reference below.


Postback URL

This is the URL JVZoo will call when the event fires. Use placeholders (e.g. {tid}, {affiliate_amount}) to pass dynamic data through to your tracking platform.

Purchase — Base Example:

https://tracking.yourplatform.com/track?clickid={tid}&sum={affiliate_amount}&currency={currency}&transactionid={transaction_id}&transactiontype={transaction_type}

Initiated — Base Example:

https://tracking.yourplatform.com/visit?tid={tid}&product_id={product_id}&affiliate_id={affiliate_id}

For a full list of available placeholders for each type, see the Placeholder Reference below.

Tip: Always use HTTPS URLs. Include {random} to prevent URL caching issues.


Status

Set the postback to Active or Inactive. Only active postbacks will fire.


Product Scope

Choose which products this postback applies to:

  • All Products — fires for every product you promote
  • Specific Products — select individual products to limit the scope

Notification Filters (Purchase type only)

Filters let you exclude certain transactions from triggering the postback:

  • Exclude refunded transactions — postback won't fire on refunds
  • Exclude zero-commission conversions — postback won't fire if your commission is $0

Note: The Initiated type has no filters — it fires on every checkout page visit that matches your product scope.


Step 4: Save and Test

Once saved, your postback will appear in the list. You can:

  • Click the log icon to view the full call history for that postback
  • Check the Last Call Status column at a glance (Success, Failed, Skipped)
  • Edit or deactivate it at any time from the Actions column

Placeholder Reference

Purchase Placeholders

Use these in your postback URL when the type is set to Purchase.

Required Transaction Data

Placeholder Description Example
{currency} ISO currency code USD, EUR, GBP
{transaction_id} Unique transaction ID TXN_123456789
{transaction_amount} Full transaction value 99.99
{transaction_type} Transaction type SALE for purchases, RFND for refunds

Product Information

Placeholder Description
{product_id} Internal product identifier
{product_name} Human-readable product name

Customer Data

Placeholder Description Example
{customer_email} Customer email address user@example.com
{customer_name} Customer full name John Smith
{customer_country} ISO country code US, GB, DE

Payment & Vendor Details

Placeholder Description
{vendor_id} Vendor identifier
{payment_method} Payment method used (e.g. credit_card, paypal)
{transaction_time} Unix timestamp of the transaction
{vendthru} Vendor Thru custom field

Affiliate Tracking

Placeholder Description Example
{affiliate_id} Affiliate partner identifier 10956
{affiliate_amount} Commission amount 15.99
{commission_type} Commission model CPA or REV_SHARE
{tid} Primary click tracking ID passed by the affiliate click_abc123xyz789

UTM Parameters

Placeholder Description
{utm_source} Traffic source (e.g. google, facebook)
{utm_medium} Marketing channel (e.g. cpc, email)
{utm_campaign} Campaign identifier
{utm_content} Ad content variation
{utm_term} Paid search keywords

Sub IDs (Custom Tracking)

Placeholder Description
{sub_id1} Custom tracking field 1
{sub_id2} Custom tracking field 2
{sub_id3} Custom tracking field 3
{sub_id4} Custom tracking field 4
{sub_id5} Custom tracking field 5

Platform Click IDs

Placeholder Description
{gclid} Google Click ID
{fbclid} Facebook Click ID
{msclkid} Microsoft (Bing) Click ID
{ttclid} TikTok Click ID
{li_fat_id} LinkedIn First-Party Ad Tracking ID
{twclid} Twitter/X Click ID
{yclid} Yahoo Click ID

System Parameters

Placeholder Description
{random} Random 32-character string to prevent URL caching
{other_params} Additional custom parameters in URL format

Initiated Placeholders

Use these in your postback URL when the type is set to Initiated. These are visitor-level placeholders — transaction data is not available for this type.

Product Information

Placeholder Description
{product_id} JVZoo product identifier
{funnel_id} Funnel ID; empty if the visitor did not arrive via a funnel

Affiliate Tracking

Placeholder Description
{affiliate_id} Affiliate partner identifier
{tid} Primary click tracking ID passed by the affiliate
{click_id} JVZoo click ID; populated when the visitor arrived via a tracked affiliate link, otherwise empty
{session_id} 6-character visitor session identifier, unique per visit

UTM Parameters

Placeholder Description
{utm_source} Traffic source
{utm_medium} Marketing channel
{utm_campaign} Campaign identifier
{utm_term} Paid search keywords
{utm_content} Ad content variation

Sub IDs (Custom Tracking)

Placeholder Description
{sub_id1} Custom tracking field 1
{sub_id2} Custom tracking field 2
{sub_id3} Custom tracking field 3
{sub_id4} Custom tracking field 4
{sub_id5} Custom tracking field 5

Platform Click IDs

Placeholder Description
{gclid} Google Click ID
{fbclid} Facebook Click ID
{msclkid} Microsoft (Bing) Click ID
{ttclid} TikTok Click ID

Visitor Data

Placeholder Description
{country} Visitor's 2-letter country code (e.g. US, GB)
{ip} Visitor IP address

System Parameters

Placeholder Description
{random} Random 32-character string to prevent URL caching
{datetime_unix} Current Unix timestamp
{datetime_full} Current datetime in Y-m-d H:i:s format
{datetime_utc} Current datetime in ISO 8601 UTC format

Advanced URL Examples

Purchase — Full Attribution Example:

https://tracking.yourplatform.com/track?currency={currency}&transaction_id={transaction_id}&transaction_amount={transaction_amount}&transaction_type={transaction_type}&product_id={product_id}&product_name={product_name}&customer_email={customer_email}&customer_name={customer_name}&customer_country={customer_country}&vendor_id={vendor_id}&payment_method={payment_method}&affiliate_id={affiliate_id}&affiliate_amount={affiliate_amount}&commission_type={commission_type}&tid={tid}&utm_source={utm_source}&utm_medium={utm_medium}&utm_campaign={utm_campaign}&gclid={gclid}&sub_id1={sub_id1}&sub_id2={sub_id2}&random={random}

Initiated — Full Checkout Visit Example:

https://tracking.yourplatform.com/visit?tid={tid}&click_id={click_id}&session_id={session_id}&product_id={product_id}&affiliate_id={affiliate_id}&funnel_id={funnel_id}&country={country}&ip={ip}&utm_source={utm_source}&utm_medium={utm_medium}&utm_campaign={utm_campaign}&gclid={gclid}&sub_id1={sub_id1}&sub_id2={sub_id2}&random={random}

Important Notes

  • Postbacks are account-wide by default — a single configuration covers all campaigns unless you restrict it to specific products
  • If your click IDs are longer than 26 characters, pass them via Sub IDs instead ({sub_id1} through {sub_id5} support up to 512 characters)
  • CPA campaigns do not fire refund postbacks
  • RevShare campaigns can track refunds and status changes via the {transaction_type} placeholder (SALE for purchases, RFND for refunds)

Common Tracking Platforms

JVZoo S2S postbacks are compatible with any platform that supports postback URLs, including:

  • RedTrack
  • Voluum
  • ClickFlare
  • BeMob
  • And any other platform with postback/pixel URL support

Viewing Postback Logs

Each postback configuration has a call history log. To view it:

  1. Go to My Account > Account Details > Affiliate Settings > Manage S2S Postbacks
  2. Click the log icon next to the postback you want to inspect

The log shows each call with its timestamp, type, transaction ID (where applicable), HTTP response code, status (Success / Failed / Skipped), and the full URL that was called.


Need Help?

  • Use live chat for fast technical assistance - most issues are resolved in minutes
  • Contact the Support team for platform-specific configuration help
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request
SUBMIT A TICKET