Home
Offers & Tracking
Advanced Tracking Options
Clickless Conversion Tracking
Clickless Conversion Tracking

SERIES:

Clickless Conversion Tracking

Learn how to fire a Conversion without first firing an associated Click.

Overview

Clickless conversion tracking allows you to fire a conversion into Everflow without an associated click or transaction_id. This is essential when users can't click a tracking link β€” such as when they use a coupon code from a podcast, dial a phone number directly, or arrive through an API integration.

Unlike regular tracking (which generates a *transaction_id* when a click happens), clickless tracking uses static identifiers to attribute conversions - oid and affid in URL postbacks, or **offer_id and affiliate_id in the JavaScript SDK.

When to Use: Clickless vs. Regular Tracking

πŸ”—
Clickless Tracking
No transaction_id required
βœ… Use When:
βœ“Influencers/Podcasts: Users hear a code but can't click a link
βœ“Phone Calls: User dials directly without visiting your site
βœ“API/Posted Leads: No landing page to track
βœ“Offline/Print Ads: Magazine, radio, or billboard promotions
βœ“Email LTV: Subscription renewals months after original click
βœ“CSV Reconciliation: Bulk uploading historical data
Required Parameters
  • offer_id (or oid)
  • affiliate_id (or affid)
  • Recommended: user_ip, timestamp
πŸ–±οΈ
Regular Tracking
Uses transaction_id from click
βœ… Use When:
βœ“Standard Affiliate Links: Users click a tracking URL
βœ“Display Ads: Banner or native ad clicks
βœ“Email Marketing: Tracked links in email campaigns
βœ“Social Media: Direct link posts on Facebook, Instagram, etc.
βœ“Landing Pages: Users arrive via clickable tracking link
βœ“Most Scenarios: Default method for standard attribution
Required Parameters
  • transaction_id (auto-generated from click)
  • Automatically captures: IP, device, referrer, geo

Use Cases: When You Need Clickless Tracking

πŸ“±
Influencer & Social Media Codes
Influencers on Instagram, TikTok, or podcasts share a code instead of a link. Users type the code at checkout to get a discount and the partner gets credit.
Example: "Use code SARAH10 for 10% off" β€” podcast listeners go directly to your site and enter the code.
DTC Brands β€’ Supplements β€’ E-commerce
πŸ“ž
Phone Call Tracking
Users dial a static phone number from an ad (radio, print, billboard). Call tracking platforms (Ringba, Retreaver, Invoca) fire conversions to Everflow without a web click.
Example: User sees "Call 1-800-INSURANCE" on a billboard β†’ dials directly β†’ Invoca fires conversion with partner attribution.
Home Services β€’ Insurance
πŸ”Œ
API & Posted Leads
Partners send leads directly to your CRM via API β€” there's no landing page or tracking link to click. Your system fires conversions using oid + affid.
Example: Lead arrives in Falcon CRM via API β†’ CRM fires postback to Everflow with hardcoded partner ID.
Home Services β€’ Lead Gen Networks
πŸ“°
Offline & Print Advertising
Magazine ads, direct mail, or radio spots where users can't click a link. They see a code or phone number and convert directly.
Example: Magazine ad says "Use code VOGUE25" β†’ user goes to site directly and applies code at checkout.
DTC Brands β€’ Print Media
πŸ’Œ
Email LTV & Renewals
Track lifetime value when the original click expired. Attribute renewals or repeat purchases months later using email attribution without requiring a new click.
Example: Customer buys once (tracked click) β†’ renews subscription 6 months later β†’ email match credits original partner.
Supplements β€’ Financial Services
πŸ“Š
CSV Reconciliation
Bulk upload historical conversions or fix attribution errors by importing data via CSV. Use timestamp parameter to backdate conversions to their actual occurrence date.
Example: Advertiser sends monthly sales report β†’ you upload via CSV with partner attribution and original sale dates.
Lead Gen β€’ Networks β€’ E-commerce

Quick Start: Coupon Code Tracking (3 Minutes)

1Navigate to Offers β†’ Manage β†’ Click on your offer β†’ Advanced tab β†’ Disable "Minimum Lookback Window" 2Go to Partners β†’ Coupon Codes β†’ Click Add Coupon Code β†’ Enter code (e.g., "SARAH10") β†’ Select Offer and Partner 3Update your checkout postback to include &coupon_code={coupon_entered_by_user} parameter That's it!

When a user enters "SARAH10" at checkout, Everflow automatically attributes the sale to Sarah's partner account β€” no click required.

For detailed setup, see: Using Coupon Codes For Clickless Tracking

How-To: Implementation Methods

A clickless conversion can be fired into Everflow via Server Postback or JavaScript SDK**. URL postbacks must use oid and affid (short forms). The JavaScript SDK uses offer_id and affiliate_id (long forms). The long forms do not work in URL query strings.

See instructions below for replacing YOUR_DOMAIN with your conversion domain. For pixel-based implementation (image or iframe), contact your CS representative.

Method 1: Server Postback (GET Request)

Using oid + affid

GET https://your-conversion-domain.com/?nid=YOUR_NID&oid=OFFER_ID&affid=AFFILIATE_ID

Using coupon_code

When the coupon code is assigned to one partner and one offer

GET https://your-conversion-domain.com/?nid=YOUR_NID&coupon_code=COUPON_CODE

Using coupon_code + oid

When the coupon code is assigned to one partner and more than one offer

GET https://your-conversion-domain.com/?nid=YOUR_NID&coupon_code=COUPON_CODE&oid=OFFER_ID

Method 2: JavaScript

Note: All JS SDK examples require the Everflow SDK script tag on the page:
<script type="text/javascript" src="https://YOUR_DOMAIN.com/scripts/main.js"></script>

Using offer_id + affiliate_id

EF.conversion({ offer_id: EF.urlParameter('oid'), affiliate_id: EF.urlParameter('affid'), });

Using coupon_code

EF.conversion({ coupon_code: EF.urlParameter('coupon_code'), });

Using coupon_code + offer_id

EF.conversion({ offer_id: EF.urlParameter('oid'), coupon_code: EF.urlParameter('coupon_code'), });

Finding Your Conversion Domain

Replace YOUR_DOMAIN with your conversion domain. You can find it by navigating to Offers β†’ Manage β†’ Click on the name of Offer β†’ Tracking card.
Everflow Tracking card showing the Conversion Domain location in Offer settings

Required Parameters Checklist

βœ…

What Parameters Do You Actually Need?

❗ Required (Must Have)
oid
URL postbacks
The Offer ID that this conversion should be attributed to. Without this, Everflow doesn't know which offer to credit.
Use oid in URL postbacks (GET requests). Use offer_id only in the JS SDK.
affid
URL postbacks
The Partner/Affiliate ID who should receive credit. Without this, Everflow doesn't know which partner to pay.
Use affid in URL postbacks (GET requests). Use affiliate_id only in the JS SDK.
πŸ’‘ Why these are required: Since there's no transaction_id from a click, you must explicitly tell Everflow which offer and partner to attribute to. Important: URL postbacks must use the short forms (oid, affid). The long forms (offer_id, affiliate_id) only work inside the JavaScript SDK.
πŸ’š Optional (For Enhanced Reporting)
amount
Sale amount (used for Revenue Per Sale payouts)
currency
3-letter ISO currency code (e.g., USD, EUR, GBP)
order_id
Unique order/transaction identifier (prevents duplicates)
email
Customer email (for email attribution and LTV tracking)
event_id
Fire to a specific event instead of base conversion
source_id, sub1-sub5
Custom tracking parameters for granular reporting

All Available Parameters (Searchable Reference)

Below is a complete reference of all parameters that can be passed in a clickless conversion postback. Use the search function to find specific parameters.

URL postbacks (GET requests) must use the short parameter forms (oid, affid). The long forms (offer_id, affiliate_id) only work inside the JavaScript SDK.

ParameterDescription&offer_id= or &oid=REQUIRED. The Offer ID that this conversion should be attributed to.&affiliate_id= or &affid=REQUIRED. The Partner/Affiliate ID who should receive credit for this conversion.&user_ip= or &ip=HIGHLY RECOMMENDED. The IP address of the user. If not passed, Everflow records your server's IP, which can trigger duplicate IP fraud flags and show incorrect geo-location data.&timestamp=RECOMMENDED. Unix timestamp of the conversion (e.g., 1640995200). Use this to backdate conversions for CSV uploads or reconciliation. Without this, Everflow timestamps the conversion at the moment the postback fires.&coupon_code=RECOMMENDED for Influencer/Offline Tracking. The coupon code or discount code used. This can be used to attribute conversions instead of passing affiliate_id β€” Everflow looks up which partner owns the code. See Using Coupon Codes For Clickless Tracking.&amount=Sale amount (will be used in the context of Revenue Per Sale payouts). Example: &amount=49.99&currency=The currency of the sale. Use 3-letter ISO code (e.g., USD, EUR, GBP). Everflow automatically converts to your account's base currency. See ISO currency codes.&order_id=The unique order ID for this transaction. This is especially important for e-commerce integrations to prevent duplicate conversions.&email=The customer's email address. Used for email attribution and lifetime value tracking (renewals, repeat purchases).&event_id=The Event ID from the Offer to assign the conversion to a specific event (e.g., "Lead" vs "Sale"). Leave blank or use 0 for base conversion.&adv_event_id=The Advertiser-Level Event ID. Must be accompanied by &aid=ADVERTISER_ID or &advid=ADVERTISER_ID.&aid= or &advid=Advertiser ID (used when firing to advertiser-level events).&source_id=When generating a clickless conversion with coupon code or offer ID/affiliate ID combo, this can be used to pass the source ID for reporting.&sub1= through &sub5=Custom tracking parameters for granular reporting (e.g., campaign name, ad group, placement). Can be used with coupon code or offer ID/affiliate ID attribution.&adv1= through &adv5=Advertiser Sub IDs for passing custom data to your advertiser postbacks or for conditional payout logic.&order=Specific to e-commerce integrations β€” JSON payload associated with the order (product details, quantities, etc.).&idfa_sha1=Hashed IDFA (iOS device identifier) for mobile app attribution.&google_aid_md5=MD5-hashed Google Advertising ID (Android device identifier) for mobile app attribution.&google_aid_sha1=SHA1-hashed Google Advertising ID (Android device identifier) for mobile app attribution.

Platform-Specific Examples

Shopify + Email Attribution (Reconciliation)
For Shopify stores, you can use clickless tracking with Email Attribution to catch conversions that were missed by pixel tracking (due to ad blockers, iOS 14+, etc.).
# Step 1: Enable Email Attribution in EverflowNetwork β†’ Settings β†’ Conversion Attribution β†’ Enable "Email Attribution"

# Step 2: Fire initial "Email Submit" event (zero revenue)EF.conversion({
  offer_id: YOUR_OFFER_ID,
  affiliate_id: PARTNER_ID,
  event_id: EMAIL_EVENT_ID,
  adv1: user_email@example.com
});


# Step 3: When purchase occurs, fire conversion with emailhttps://YOUR_DOMAIN.com/?oid=OFFER_ID&affid=AFFILIATE_ID&email=user_email@example.com&amount=99.99
πŸ’‘ Customer Example: A supplement brand uses this for wholesale lifetime commissions. The initial email capture creates the ownership, and all future purchases (even months later) automatically credit the partner.
GoHighLevel (Direct Linking Limitation)
GoHighLevel forms can't capture transaction_id in the standard way due to iframe restrictions. The workaround is to use hidden fields to capture offer_id and affiliate_id from URL parameters, then fire a clickless conversion.
# Step 1: Add URL parameters to your GHL pagehttps://yourpage.gohighlevel.com?oid=123&affid=456

# Step 2: Add hidden fields to capture them<input type="hidden" name="offer_id" value="{{query.oid}}" />
<input type="hidden" name="affiliate_id" value="{{query.affid}}" />


# Step 3: Fire webhook on form submit (clickless)https://YOUR_DOMAIN.com/?oid={{offer_id}}&affid={{affiliate_id}}&email={{email}}
⚠️ Important: This is clickless tracking because GHL can't generate a transaction_id. The attribution relies on the offer_id and affiliate_id passed in the URL.
CRM Integration (Falcon, HubSpot, Lawmatics)
When leads arrive in your CRM via API ("Posted Leads"), there's no landing page to track. Your CRM fires a server-to-server postback to Everflow with the partner attribution.
# Example: Lead arrives in Falcon CRM with "BM Code" field{
  "first_name": "John",
  "last_name": "Doe",
  "email": "john@example.com",
  "bm_code": "PARTNER_ABC"
}


# Step 1: Map BM Code to coupon_code parameter# Step 2: Fire postback from CRM webhookhttps://YOUR_DOMAIN.com/?oid=OFFER_ID&coupon_code=PARTNER_ABC&email=john@example.com&ip=USER_IP_ADDRESS
πŸ’‘ Customer Example: A home warranty company uses this pattern with Falcon CRM. The "BM Code" is passed as coupon_code, which Everflow uses to look up the partner automatically.
⚠️ Critical: Pass user_ip Parameter
When firing from a server (CRM, backend), you MUST pass the user's IP address. Otherwise, Everflow records your server's IP, which causes:
  • Duplicate IP fraud flags (all conversions show same IP)
  • Wrong geo-location data (shows server location, not user location)
  • Incorrect device data (often defaults to "PC")

Troubleshooting: Conversions Not Showing Up

πŸ”΄ Issue 1: Conversions Silently Rejected (Lookback Window Conflict)

Problem: You fire the postback and get a 200 OK response, but conversions don't appear in reporting.

Most Common Cause: Your offer has "Minimum Lookback Window" enabled. Coupon code conversions happen instantly (no click timestamp), so they violate the time-based validation rule and get rejected.

Solution:

  1. Navigate to Offers β†’ Manage β†’ Click on your offer
  2. Go to Advanced tab
  3. Find "Minimum Lookback Window" and disable it
  4. Click Save

⚠️ Critical: This is the #1 reason coupon tracking "doesn't work." Multiple customers have hit this issue.

🟑 Issue 2: Wrong IP Address / Duplicate IP Fraud Flags

Problem: All conversions show the same IP address, or you're getting "Duplicate IP" fraud alerts.

Cause: You're firing the postback from your server (CRM, backend), and Everflow is recording your server's IP address instead of the user's IP.

Solution:

  1. Capture the user's IP address when the lead/sale occurs
  2. Add &user_ip=USER_IP_ADDRESS or &ip=USER_IP_ADDRESS to your postback
  3. Example: https://YOUR_DOMAIN.com/?oid=123&affid=456&ip=203.0.113.45

πŸ’‘ Why this matters: Without the user's IP, geo-location data is wrong (shows server location), and duplicate IP fraud rules may block legitimate conversions.

🟑 Issue 3: Conversions Show Wrong Timestamp

Problem: You're uploading historical data via CSV or reconciliation, but conversions show today's date instead of the original conversion date.

Cause: Without the timestamp parameter, Everflow timestamps the conversion at the moment the postback fires.

Solution:

  1. Convert the original conversion date/time to Unix timestamp (e.g., 1640995200)
  2. Add &timestamp=UNIX_TIMESTAMP to your postback
  3. Example: https://YOUR_DOMAIN.com/?oid=123&affid=456&timestamp=1640995200

Tool: Use unixtimestamp.com to convert dates to Unix timestamps.

🟠 Issue 4: 100% Conversion Rate (Coupon Code Leaked)

Problem: A partner shows a 100% conversion rate with conversions but no corresponding clicks.

Cause: The coupon code was leaked to a public coupon scraping site (e.g., RetailMeNot, Honey). Organic users are finding and using the code, and clickless tracking attributes ALL usage to the partner β€” even if they didn't click the partner's link.

What's Happening: Clickless coupon tracking works exactly as designed. ANY use of the code = partner gets credit. If the code is public, anyone can use it.

Solutions:

  1. Use unique codes per partner: Instead of "SAVE20", use "SARAH20", "MIKE20", etc.
  2. Enable Click Priority: Navigate to Advertisers/Brands β†’ Manage β†’ select the advertiser β†’ General tab β†’ General Card (Edit) β†’ set Attribution Priority to "Click." This means if a user clicked a different partner's link, the click wins over the coupon.
  3. Monitor public coupon sites: Search for your codes on RetailMeNot, Honey, Slickdeals to detect leaks.

🚨 Real Example: Company A had "Sale20" code show 100% conversion rate because it leaked to a public site. Users scraped the code and used it without clicking affiliate links.

πŸ”΅ Issue 5: Missing Required Parameters (offer_id or affiliate_id)

Problem: Postback fires but conversion is marked as "Invalid" or doesn't appear at all.

Cause: You forgot to pass the required identifiers in your postback.

Solution: Verify your postback includes both required parameters. Use the correct form for your method:

  • URL postbacks (GET requests): &oid=YOUR_OFFER_ID and &affid=YOUR_AFFILIATE_ID
  • JS SDK: offer_id and affiliate_id (inside the EF.conversion() call)

Common mistake: Using offer_id and affiliate_id in a URL postback. These long forms do not work in URL query strings β€” you must use oid and affid.

Alternative: Instead of affiliate_id, you can use &coupon_code=PARTNER_CODE if you've set up coupon codes. Everflow will look up which partner owns the code.

πŸ’‘ Pro Tip: Use your browser's Network tab (Developer Tools) to inspect the actual postback URL being fired. Look for the oid and affid parameters.

Explore Related Content Ready to dive deeper into clickless tracking? Here are some helpful resources:

βž” Using Coupon Codes For Clickless Tracking β€” Step-by-step setup for influencer and offline tracking

βž” Introduction To Conversion Attribution β€” Understand attribution priority (Click vs Coupon vs Email)

βž” Direct Linking β€” When to use clickless as a fallback method

βž” Organic Tracking β€” Set up catch-all tracking for unattributed traffic