Blog Affiliate marketing Reference

Measure active affiliates without hiding dormant signups

Define joined, link-created, publishing, click and selling cohorts. Calculate active affiliate rates with fixed denominators, time windows and refund rules.

Five separate sorting trays show membership, link setup, publishing, clicks and orders, with unused affiliate tokens still visible.

An active affiliate is a joined partner who performed a named action within a named period. For a creator program, use publishing-active to mean at least one evidenced affiliate promotion during the reporting month. Report click-active and selling-active separately. Keep everyone who joined in the cohort denominator, including partners with no recorded activity. This makes the active affiliate rate useful without making dormant signups disappear.

Modash's guide to scaling an affiliate program raises the gap between recruited affiliates and affiliates who publish. Your report needs a definition narrow enough that two people can reproduce its count.

Five definitions to put in the report

These are recommended reporting definitions. They are not universal affiliate-platform statuses. Use a stable affiliate ID so one partner with several accounts, links or posts counts once per measure.

MeasureCounting ruleWhat it tells youMain limitation
JoinedAccepted program membership by the cohort cutoffSize of the recruited groupAcceptance shows no promotional activity
Link-createdHas a recorded affiliate link by the reporting cutoffTracking setup has reached this stepAn automatically created link proves no creator action
PublishedHas at least one evidenced affiliate promotion published during the activity windowRecent promotional workOlder content can keep selling without a new post
ClickedHas at least one recorded qualifying click during the activity windowObserved traffic activityTest traffic and measurement gaps can mislead
SellingHas at least one attributed qualifying order placed during the activity windowRecorded commercial activityAttribution and returns can change the count

For joined, record when the creator accepted your program, rather than the date you sent an invitation. Keep pending applicants in a separate recruitment count.

Link-created is a setup milestone. Store the creation timestamp, link owner and delivery status. Report first-link completion by cohort age if you want to compare onboarding. Do not require established affiliates to create a fresh link every month to remain active. Code-only partners need a separate code-ready flag; an absent link does not prove their setup is incomplete.

For published, retain a URL, publication date and evidence such as a saved post record or creator submission. Mark missing evidence as unknown. A creator saying they posted is a follow-up task until your chosen evidence requirement is met.

For clicked, write down the system and exclusions. Exclude identifiable staff tests and known automated traffic when the system supports it. If your platform exposes visits, name the measure visit-active. Shopify Collabs labels individual creator traffic as Visits; its documentation does not make that label interchangeable with raw clicks.

For selling, specify whether you mean orders placed, retained orders as of a cutoff, or orders approved for commission. Those definitions answer different questions. A payout date should not silently replace an order date.

Freeze the population before counting activity

Use two views alongside each other:

  • Fixed join cohort. Partners who joined during a specified period, followed over time. Keep departures and paused partners in this historical group, with status flags.
  • Current roster. Partners eligible to participate at the start of the reporting window. Show joins, pauses and exits separately so roster changes remain visible.

State the denominator in the metric name or its adjacent note. A fixed-cohort rate and a current-roster rate cannot be compared without checking who each includes.

Use calendar dates and one timezone. Shopify's performance view defaults to the last 30 days, according to its creator-management documentation. Set a common range before combining its results with publication records.

For onboarding comparisons, measure each cohort after the same elapsed time, such as its first 30 days after joining. Mark newer cohorts as incomplete until that period ends. For monthly operations, show partial-month newcomers separately from the established roster.

A hypothetical cohort with visible dormant members

The following example is invented to demonstrate the calculation. All ten partners joined in July 2026 and remained eligible throughout August. The activity window is August 1 at 00:00 through September 1 at 00:00 UTC, excluding the endpoint. Order outcomes reflect records available on September 25.

Assume complete publication evidence and functioning click tracking. Each affiliate has one ID. Link setup is cumulative through August 31; the other activity columns cover August only.

AffiliateLink created by cutoffNew promotionQualifying clickRetained orders
AYesYesYes2
BYesYesYes1
CYesYesYes0
DYesYesNo0
EYesYesNo0
FYesNoYes1
GYesNoNo0
HYesNoNo0
INoNoNo0
JNoNoNo0

Here is the complete hypothetical order ledger behind the last column. Each order has one credited affiliate. For this example, a retained order has positive merchandise value after refunds and is neither canceled nor rejected as invalid. All amounts are USD; tax and shipping are excluded.

OrderAffiliatePlacedMerchandiseRefunded by cutoffCounts?
101AAugust 3$80$0Yes
102BAugust 9$60$0Yes
103AAugust 18$40$0Yes
104CAugust 22$90$90No
105FAugust 28$50$0Yes

The formula is:

Active rate = distinct cohort affiliates meeting the named rule / all affiliates in that cohort × 100

Hypothetical measureCalculationRate
Link-created coverage8 / 10 × 10080.0%
Publishing-active rate5 / 10 × 10050.0%
Click-active rate4 / 10 × 10040.0%
Selling-active rate, retained orders3 / 10 × 10030.0%
No publication, click or retained order4 / 10 × 10040.0%

Rates round to one decimal place. A's two orders count as one selling affiliate. Before C's refund, the placed-order definition would count four sellers and produce 40.0%. The retained-order definition produces 30.0% at the stated cutoff.

Shopify's payment documentation says canceled and fully refunded orders lose their commissions during the holding period. That is one reason to preserve order status and extraction date. The hypothetical retained-order rule above does not determine a platform's commission approval or payout. Use a separate returns reconciliation process for those amounts.

F's older content generated August traffic and an order. These columns therefore overlap without forming a mandatory sequence. Codes can also attribute orders independently of a newly observed click. Define how links and discount codes share credit before you count selling affiliates.

Turn each gap into a different task

Do not call all five non-publishers dormant. In the example, F still generated traffic and sales. G, H, I and J had none of the three observed activity types during August.

Use the records to assign work:

  • Joined without setup: check access, link delivery and whether a code-only arrangement is intended.
  • Setup without observed activity: ask about readiness, timing and interest before sending another promotion request.
  • Published without traffic: inspect the destination and measurement before judging the creator's audience.
  • Traffic without retained sales: review attributed orders, returns and the purchase path.
  • Selling without fresh content: check the older placement before assuming the relationship needs reactivation.

A missing disclosure needs its own status. For endorsements affecting U.S. consumers, FTC guidance calls for disclosure of financial brand relationships with the endorsement. Keep the publication in the activity count and flag the disclosure problem for correction. Removing it from the records would conceal work that needs attention.

Before the next monthly review, choose your activity window and freeze the cohort list. Fill these five columns, retain unknowns, and give each inactive partner a reason code. Then use a respectful reactivation process for the partners whose records support that next step.

Sources

  1. How to Scale Affiliate Marketing: 8 Strategies for Brands That Already Have a Program Running Modashaccessed Sep 27, 2026
  2. Managing creators in Collabs Shopify Help Centeraccessed Sep 27, 2026
  3. Pay creators on Collabs Shopify Help Centeraccessed Sep 27, 2026
  4. Disclosures 101 for Social Media Influencers Federal Trade Commissionaccessed Sep 27, 2026