- Blog•
- •
- 11 min read
Sub ID Tracking for Affiliates and SaaS Programs (Oct 2026)
By the time a referred company pays, you’ve lost the record of which partner placement brought it in. The first visitor, trial user and eventual buyer can be different people, leaving click reports disconnected from revenue. Keeping a subid tied to the shared company account, then matching that account to billing, gives you a way to retain source detail through a long sales cycle.
- What a sub ID means in affiliate link tracking
- Why sub IDs matter for SaaS partner programs
- Sub IDs, partner IDs, UTMs and click IDs serve different purposes
- How to structure a referral link with a sub ID
- How to create a consistent sub ID naming convention
- How sub IDs travel from clicks to paid subscriptions
- How to preserve attribution across long B2B sales cycles
- How to report partner performance by sub ID
- How to verify commission balances and investigate suspicious attribution
- How to test and troubleshoot sub ID tracking
- How Cello fits into a source-level attribution workflow
- Key takeaways
TLDR:
- Use sub IDs to track your partner placements; partner IDs determine who gets credit.
- Capture and store subid values, then link accounts to verified payments for source reporting.
- Judge sources by paid subscriptions and recurring revenue, not click counts.
- Test delayed conversions, refunds and webhook replays before launching your tracking.
- Confirm Cello’s placement-reporting support and map source-level reporting before launch.
What a sub ID means in affiliate link tracking
A sub ID, also written as SubID or subid, is an extra tracking value that identifies a source, channel or placement within a partner relationship. In affiliate link tracking, the partner identifier assigns ownership of attributed signups and purchases; the sub ID adds source detail.
A B2B SaaS consulting partner, as part of a broader partner program, can use separate sub IDs for its newsletter and LinkedIn post while keeping both under the same partner.
A sub ID parameter works only when the receiving system captures, stores and reports its value.
Why sub IDs matter for SaaS partner programs
Sub ID reporting helps SaaS partner teams distinguish sources that generate clicks from those that produce paying customers. Partnerships and revenue operations (RevOps) teams relying on partnership tracker software can compare lead quality across landing pages and direct campaign spending toward sources with paid conversions. For example, suppose a consulting partner’s LinkedIn post generates more clicks than its newsletter, but separate sub IDs show the newsletter brings more verified paid accounts at a lower cost per account over the same conversion window. The partnerships lead moves the next campaign’s budget from promoting the LinkedIn post to another newsletter placement, instead of rewarding click volume. A partner-level total alone would hide that distinction.
Treat clicks as diagnostic metrics, track trial activation and judge business outcomes through paid subscriptions and referral annual recurring revenue (Referral ARR). A subid adds source-level detail to affiliate link tracking; commission eligibility still depends on program rules, and fraud prevention requires separate checks.
Sub IDs, partner IDs, UTMs and click IDs serve different purposes
Affiliate link tracking needs separate fields for partner credit, placement, acquisition context and individual clicks, a distinction that matters just as much in an agency partner program.
|
Identifier |
Purpose |
Scope |
Persistence requirement |
|---|---|---|---|
|
Partner ID |
Partner owed credit |
Partner relationship |
Through commission processing |
|
Sub ID |
Tagged placement |
Content or campaign unit |
With attributed conversions |
|
UTM parameters |
Acquisition context |
Source and campaign |
Capture on arrival |
|
Click ID |
Individual click |
Click event |
Until conversion matching |
Some systems call a click identifier a “subid.” Confirm field mappings before sending reusable placement labels or unique click values.
How to structure a referral link with a sub ID
A generic referral link with a sub ID can look like /signup?partner=consultancy_alpha&subid=newsletter_launch. This is not Cello’s link format.
?starts the query string;&separates parameters.partnerandsubidname parameters; text after each=supplies the value.- URL-encode reserved characters within values; an ampersand becomes
%26.
Static labels such as newsletter_launch stay fixed. Variable values come from templates or scripts; an unresolved {placement} sends the placeholder itself. Before publishing, check the receiving system’s accepted parameter names, supported fields and length limits.
How to create a consistent sub ID naming convention
A shared dictionary keeps sub ID labels readable across affiliate link tracking reports. Define channel, campaign and landing-page variant values, producing labels such as newsletter_launch_demo_a.
- Keep partner IDs stable and use lowercase.
- Require approval for new values and preserve historical labels.
- Exclude names, emails and sensitive information from URLs.
Check downstream limits. PPC Land reported an increase in GA4 string parameter limits from 100 to 500 characters for Google Analytics 4 (GA4) 360 web data streams. This announcement-era report does not verify the limits as of October 2026. These are analytics limits, not universal subid limits.
How sub IDs travel from clicks to paid subscriptions
Sub ID tracking connects clicks to paid subscriptions through explicit joins.

- Capture the partner ID and sub ID in the browser on landing.
- Store both in your backend, linked to the trial signup and account.
- Map the billing customer to that account; copy the source label into metadata.
- Join verified-payment webhooks to the billing customer and send attribution to reporting.
Server-side processing cannot recover uncaptured identifiers. Metadata alone cannot attribute payments. Stripe sets separate metadata limits of 50 keys, 40 characters per key name and 500 characters per value.
How to preserve attribution across long B2B sales cycles
Preserve attribution across long B2B sales cycles by mapping the initial visitor, product user and eventual buyer to a shared company account. Associate contacts with opportunities, retain source history and document which partner receives credit when claims compete.
For sales-assisted workflows, carry that history into a customer relationship management (CRM) system such as HubSpot through closed-won status and payment confirmation, or route event data through a Segment integration for broader analytics coverage. Build and test each handoff.
Consent restrictions, device changes and manually created customers require identity matching or attribution review. Respect consent choices and leave unsupported claims unattributed.
How to report partner performance by sub ID
Report partner performance with one row per partner, sub ID and landing-page variant.

|
Report field |
Measurement |
|---|---|
|
Partner / sub ID / landing-page variant |
Grouping keys |
|
Unique clicks |
Deduplicated clicks |
|
Trial signups |
Distinct trial accounts |
|
Paid accounts |
Distinct paying accounts |
|
Attributed recurring revenue |
Revenue within stated period |
|
Reward cost |
Associated rewards |
Calculate trials/clicks and paid accounts/trials. Compare equal conversion windows, deduplicate companies across contacts and separate unknown sources from direct traffic. For sales-assisted pipelines, a Salesforce integration can send opportunity events to Cello through custom Apex triggers and API calls; configure reporting and deduplication separately.
Return on investment requires allocated costs and a profit basis. Landing-page comparisons cannot prove causation.
How to verify commission balances and investigate suspicious attribution
Source-level records support commission audits; eligibility rules and verified revenue events determine payouts, which is central to structuring staged payouts for sales-led referrals. Apply upgrade and cancellation rules to recurring commissions, following clear payout rules for cancellations and refunds, and record refund reversals without rewriting historical attribution.
- Retain event IDs and reward adjustments. Stripe can deliver duplicate webhooks; log processed event IDs to prevent repeat processing.
- Validate partner ownership against account records and review unexpected source-pattern changes.
Sub ID URL parameters are editable labels, not authentication or standalone evidence of fraud.
How to test and troubleshoot sub ID tracking
- Test sub ID tracking for newsletter and LinkedIn referrals with immediate and delayed conversions. Verify capture, redirects, signup persistence, account mapping, billing events and report visibility.
- Trace missing subid values through each handoff. Reject duplicate query keys, check encoding, compare overwritten attribution against stored history and resolve template placeholders.
- Test refunds and event replays to check commission handling.
- During migrations, preserve legacy identifiers, balance opening ledgers separately and prevent imported history from generating fresh commissions, a step worth revisiting whenever channel partnerships are added to the mix.
How Cello fits into a source-level attribution workflow
Cello is a referral platform. Its attribution documentation describes capturing referral codes through the ucc parameter and linking signups and purchases to referrers. Confirm placement-level reporting support before launch instead of assuming an added subid parameter will be captured and reported.
Key takeaways
- Your sub ID reports should connect sources to paying accounts.
- Use those results to guide campaign spending.
Should you use Cello alone if your partners need separate newsletter and LinkedIn conversion reports?
Cello alone does not provide native per-placement reporting, so you need a separate source-tracking layer for that requirement. Capture placement labels in your backend, retain them against customer accounts and join them to verified payments in your reporting system. Test that report before asking partners to publish tagged links.
Can you still track a delayed referral conversion if your team creates Stripe customers manually?
Manual Stripe customer creation can support attribution if your team links the billing record to the account holding the captured partner ID and sub ID. Make that mapping and metadata entry part of the customer-creation checklist, then test a payment webhook against the stored record. A payment cannot recover a source label that was never captured.
How do you investigate affiliate link tracking reports when GA4 and Stripe show different conversion totals?
Compare the underlying accounts and events before treating the difference as lost attribution. Check whether Google Analytics 4 (GA4) counts signups while Stripe counts payments, then align reporting periods, remove duplicate events and separate refunds from successful payments. Use verified billing events for paid-conversion reporting and keep missing subid values in an explicit unknown-source group.
Do you need a new partner ID every time an affiliate promotes a different campaign?
Keep the partner ID stable and assign separate sub ID values to placements you want to compare. You can reuse the same link structure with different labels, provided your receiving system captures and reports those values.
Should you send a reusable placement label or a unique click value when a tracking tool asks for subid?
Use the value type the receiving tool expects, because some tools use subid to mean a unique click identifier. Check its field definition before launch and store placement labels separately if the field is reserved for individual clicks.
What happens to your affiliate link tracking if the opt-in form lives on a different domain?
Attribution can break unless the partner ID and sub ID reach the form submission and your backend. Capture them on the landing page, pass them through a supported cross-domain handoff and verify that the submitted lead retains both values.
Which source should you keep if two partners refer contacts at the same company?
Retain both source records, then assign partner credit using your documented attribution policy. Link the contacts to one company account so reporting does not count the same paying company twice, and keep the credit decision separate from placement history.
Where should you put more budget if one partner placement gets more clicks but fewer paying accounts?
Favor the placement with stronger profit after rewards and campaign costs, using equal conversion windows. Compare paid accounts, recurring revenue and trial-to-paid conversion before moving spend; a newer placement may still have trials awaiting a purchase decision.
Can you use sub ID labels to prove that an affiliate broke your paid-ad rules?
Sub ID labels alone cannot prove a paid-ad policy violation because anyone can edit URL parameters. Use them to flag records for review, then check ad evidence and account activity against your program terms before changing commission eligibility.
How do you handle an affiliate link containing two subid parameters?
Treat duplicate subid keys as ambiguous input and reject them from attribution processing. Log the malformed link and ask the partner to publish a corrected version so different systems do not silently select different values.
How do you prevent a replayed Stripe webhook from creating duplicate affiliate commissions?
Make commission processing idempotent so replaying an event cannot create another reward. Store processed Stripe event IDs and use a unique commission record tied to the payment and eligible partner, then test webhook replays before launch.
How should you update source-level reports when a referred subscription is refunded?
Record the refund and any commission reversal against the original payment without deleting its partner or sub ID history. Show the revenue adjustment in the relevant reporting period so finance can trace the original conversion and its reversal.
How do you migrate historical sub ID records without triggering fresh commissions?
Import historical attribution separately from live commission-triggering events. Preserve legacy partner and placement identifiers, map them to current account records and carry opening reward balances in a separate ledger. Test that imported payments cannot generate new rewards