Track Affiliate Revenue by Page, Not Just Clicks

Before comparing earnings, create one row for every monetized page–merchant combination. A page that links to the same retailer in a product card and a closing recommendation may need two rows if the placements use different tracking links. Useful columns include: Record the context, not just the URL. A “Buy” button beside a named product…

Serge Avatar

by

4 minutes

Read Time

Track Affiliate Revenue by Page, Not Just Clicks
The Missing Number

Clicks show curiosity; approved commissions show which pages actually earn.

A review page can send 400 visitors to a merchant and still produce nothing that survives the affiliate approval window. Meanwhile, an older comparison page with far less traffic may quietly generate the commissions that matter.

That gap is easy to miss when reporting stops at outbound clicks. Clicks indicate interest, but they do not reveal whether a visitor bought, whether the sale was attributed, or whether it was later reversed. Traffic can look impressive for the same reason: it measures attention, not value.

Page-level approved revenue turns each article, guide, or comparison into something that can be judged on evidence. It exposes pages worth refreshing, protecting, and linking to internally—and pages whose strong click totals are not translating into earnings. Until commissions are connected back to the page that initiated them, content priorities are largely an educated guess.

What to measure

Give each commission a page-level home

Approved revenue

The strongest outcome measure: commission that has cleared the network’s approval process, assigned to the page that sent the click.

Affiliate clicks

A useful traffic signal, but not proof of earnings. A page can generate many outbound clicks and still attract poor-fit shoppers.

Conversion rate

Approved orders or commissions divided by affiliate clicks. It helps separate a persuasive, well-matched page from one that simply gets attention.

EPC

Earnings per click: approved commission divided by affiliate clicks. It combines volume and quality into a practical comparison between pages.

Reporting reality
Use the best link the network exposes

Some networks report a transaction ID, click ID, sub-ID, landing URL, or campaign field that can be matched back to a page. Others provide only total commissions by merchant or period.

When a direct match is unavailable, use a consistent proxy—such as a unique sub-ID per page or a page-specific tracking link—and label the result accordingly. Do not treat recent clicks as final revenue: returns, cancellations, and approval delays can change totals days or weeks later.

A sensible routine compares pages only after the network’s usual approval window has passed. Until then, clicks and pending commissions are directional signals, not settled results.

Before comparing earnings, create one row for every monetized page–merchant combination. A page that links to the same retailer in a product card and a closing recommendation may need two rows if the placements use different tracking links.

Useful columns include:

  • Page URL and page title
  • Merchant, affiliate program, and network
  • Destination URL, tracking ID, and any sub-ID
  • Placement: inline mention, comparison table, button, sidebar, or sitewide template
  • Link status: live, redirected, replaced, or removed

Record the context, not just the URL. A “Buy” button beside a named product has a different intent from a generic footer link. Placement decisions can later be checked against guidance on where affiliate links fit naturally.

Flag complications early: shared merchants across many pages, duplicate destinations, shortened or network redirects, and links inserted by templates. Otherwise, one merchant’s total can be mistaken for one page’s result.

Keep template links separate

Mark navigation, sidebar, and footer links as template placements. Their clicks may reflect site structure more than the page’s content.

Use page IDs that survive edits

Readable SubIDs keep revenue tied to the place that earned it.

A SubID should identify the content page and meaningful placement, not every small wording change. A stable article slug such as best-budget-tripods remains useful after a headline refresh, new paragraph, or button-color test. Avoid dates, revision numbers, and vague labels like blog1; they turn ordinary maintenance into fragmented reporting.

Use a consistent, readable SubID convention, for example page--merchant--placement. Keep it short enough to recognize in a network export, using lowercase letters, hyphens, and a fixed separator. Create a new ID only when the reader intent or commercial context materially changes: a new campaign landing page, a separate comparison table, or a distinct email promotion.

A workable example

Item Value
Page URL site.com/guides/best-budget-tripods/
SubID budget-tripods--acme--top-pick
Program link https://merchant.example/?aff=123&subid=budget-tripods--acme--top-pick

If the same merchant also appears in a mid-article comparison, use budget-tripods--acme--comparison. Both commissions still roll up to one page, while the placement detail explains why one link performed better. Record the final URL and SubID together in the link inventory so replacements do not quietly break the trail.

Preserve old IDs when editing

When a link stays in the same role on the same page, retain its SubID. Changing it creates an artificial before-and-after split.

Watch for redirects
A working destination can still lose attribution

A redirect may deliver visitors to the right merchant page while stripping the page-level identifier along the way. Check after changes to link plugins, cloaking tools, consent banners, or merchant URLs. If the network does not expose sub-ID data in reports, record that limitation before relying on page-level revenue comparisons.

Maintain a transaction-ledger routine

Turn network exports into page-level evidence

Affiliate-network transaction reports should be treated as the revenue record. Analytics can explain traffic and outbound-click changes, but it cannot confirm whether a commission was tracked, reversed, or approved.

On a regular cadence—weekly is usually manageable—export each network’s transaction report into a spreadsheet. Keep the raw export on its own tab, then use a lookup to match the reported SubID (or equivalent tracking field) to the page–merchant–placement inventory. A simple XLOOKUP can return the originating URL, page title, and link context without retyping them.

Retain enough detail to make a surprising total explainable:

  • transaction and approval dates
  • merchant, order value, commission, and currency
  • status: pending, approved, declined, or reversed
  • SubID, page URL, placement, and tracking ID
  • network and export date

Keep pending and approved amounts separate. A page may look successful this month only because its commissions have not yet been reversed; comparing approved revenue with prior periods avoids that false signal.

For interpretation, add analytics sessions and outbound clicks beside the matched page totals, rather than mixing them into the commission data. That division fits a broader affiliate revenue analytics framework: transactions establish earnings, while traffic and clicks help explain why earnings moved.

Methodology

A small, consistent workbook is more useful than an elaborate dashboard that is updated only occasionally.

Preserve the source

Save each unedited network export with its date. It provides a check when statuses or payout totals change later.

Refresh the page lookup

Add new SubIDs to the inventory before importing the next batch, and flag unmatched IDs instead of guessing their source.

Review approved revenue first

Sort by approved commission and compare against clicks or sessions only after the page totals are reliable.

Compare pages on earnings and efficiency

Use approved results, then allow time for them to settle.

A page’s approved commission is its clearest contribution: add the approved amounts assigned to that page for the selected period. This answers, “Which pages produced the most settled revenue?” It is the best starting point for decisions about updates, promotion, or further content.

Total earnings alone can favor pages with far more traffic. Pair them with two efficiency measures:

  • Conversion rate = approved transactions ÷ affiliate clicks × 100
  • EPC = approved commission ÷ affiliate clicks

For example, a page earning $40 from 20 clicks has a $2 EPC; a page earning $90 from 180 clicks has a $0.50 EPC. The second page currently brings in more money, while the first is more efficient and may deserve additional exposure. A simple spreadsheet makes it easy to calculate affiliate EPC for each page beside total approved earnings.

Wait for the numbers to mature

Fresh results are not final. A sale can remain pending, be reversed after a return or cancellation, or arrive in reporting days after the click. Compare pages over the same date range and, where possible, wait until the network’s usual approval or reversal window has passed.

Treat tiny samples carefully. One $60 commission can make a five-click page look exceptional, just as a handful of clicks can make conversion rate swing wildly. Mark pages with fewer than roughly 20–30 clicks as early evidence, then revisit them after more traffic and approvals accumulate.

Read the metrics together

Approved earnings identify current revenue leaders. EPC and conversion rate reveal whether those results came from efficient clicks or simply higher volume.

Monthly routine

Turn the report into one useful monthly change

  • Refresh the settled period

    At month-end, re-export the prior period and replace pending figures with approved or reversed amounts. Using the same cutoff date each month keeps rankings comparable.

  • Spot-check live identifiers

    Open a handful of affiliate links from important pages. Confirm that redirects work and that the expected page or placement tag still appears in network reporting.

  • Rank contribution before rates

    Sort pages by approved revenue first, then inspect EPC and conversion rate for context. A high rate on two clicks is less actionable than steady earnings from a page with meaningful traffic.

  • Choose one evidence-backed edit

    Improve a strong page with a clearer link placement, or investigate a high-click page that produces few approved sales. Change one element so the next report has a fair comparison.

  • Keep thin results in view

    A short-lived page or a low-volume result is not a deletion signal. Leave it in the ledger and revisit it after more traffic or a longer settled window.

Keep the system small

Let settled revenue guide the next move

  • Use approved commissions to choose priorities; use clicks and rates to diagnose them.
  • Treat low-volume pages as incomplete evidence, not failures.

A monthly refresh, a few tag checks, and one measured edit can keep page-level affiliate tracking practical. The goal is not constant tinkering; it is building a record that makes the next decision less speculative.

A spreadsheet remains workable for a modest set of pages and programs. When several networks, many placement tags, and repeated manual matching make the review slow, it may be time to consider dashboard software for page-level tracking.

22 responses to “Track Affiliate Revenue by Page, Not Just Clicks”

  1. Kara Avatar
    Kara

    For redirects, are you testing manually in a browser, or with a crawler? I checked a few by clicking them and they seemed fine, then later found a mobile-only redirect rule stripping my tag. Apparently my site wanted to keep things interesting.

    1. Serge Avatar
      Serge

      Use both when possible. Manual tests reveal what a real visitor sees, including consent tools and device-specific behavior; a crawler or scripted check helps cover the full inventory repeatedly. Test desktop and mobile final URLs, then confirm the identifier appears in the network’s click reporting after the expected delay.

    2. Devon Avatar
      Devon

      Mobile-only issues are sneaky. I now keep a phone test in the checklist whenever we change a redirect plugin.

  2. Hannah Avatar
    Hannah

    This finally explains why my “high conversion rate” page earned almost nothing: it had 2 clicks and 1 sale. Great rate, terrible sample size. I needed that reality check.

  3. Carlos M. Avatar
    Carlos M.

    The transaction ledger idea worked for me, although it took longer than expected. I export each network once a month, keep transaction date and approval date separately, and use the SubID lookup to join them to pages.

    Seeing pending, reversed, and approved amounts side by side stopped me from celebrating phantom revenue. It also exposed one merchant with a surprisingly high reversal rate, so now I don’t send as much traffic there.

    1. Serge Avatar
      Serge

      That is a great use of the ledger. Separating transaction, approval, and settlement timing helps explain why a page’s apparent performance moves around. Reversal rate can also be a valuable merchant-quality signal, not just an accounting nuisance.

    2. Mark L. Avatar
      Mark L.

      Did you track the reason for reversals when available? I started doing that and found one program was rejecting a lot of coupon-related orders.

  4. Pete W. Avatar
    Pete W.

    One practical snag: a couple of networks don’t seem to show the SubID in their normal transaction export. I can see clicks by tag, but commission rows are grouped by merchant and date. Is page-level attribution basically impossible there?

    1. Serge Avatar
      Serge

      Not necessarily, but the level of certainty is limited by the network. Check whether a custom report, API endpoint, or transaction-detail download exposes the parameter; sometimes it is absent from the default export. If it truly is unavailable, keep that merchant’s revenue at the highest defensible level, such as merchant or campaign, rather than inventing page precision from clicks.

    2. Megan Avatar
      Megan

      I had this with one program. Their affiliate manager could enable a deeper conversion report for us, so it may be worth asking before giving up.

  5. Graham Avatar
    Graham

    The distinction between originating page and last click is important. I had assumed the network was telling me where the customer started, when it was really only showing the attributed affiliate link in its own system.

    Would love a future post on handling links that get copied from one article to another by guest writers. That duplicate problem gets messy fast.

  6. David Park Avatar
    David Park

    Step 3—using stable IDs through edits—didn’t work cleanly for our editorial team. Writers regularly replace one product with a different merchant in the same paragraph. If the placement ID stays the same, aren’t we mixing two genuinely different contexts?

    1. Serge Avatar
      Serge

      You are right not to treat every edit as the same event. Keep the placement portion stable only when the link context remains materially the same. When the merchant changes, use a new page–merchant record; when the intent or placement changes substantially, create a new placement ID as well. Your inventory should preserve the old record and its active dates rather than overwrite history.

    2. Claire M. Avatar
      Claire M.

      We added “valid from” and “retired on” columns for exactly this. It makes the ledger much less mysterious when last month’s sales belong to a product that is no longer on the page.

  7. JennyB Avatar
    JennyB

    Really appreciate the reminder to use approved revenue, not reported sales. One network in my mix has a long approval period and I was ready to rewrite a page after two weeks of “zero” earnings. Waiting for a settled window changed the story completely.

  8. Taylor Avatar
    Taylor

    The link inventory sounds sensible, but maintaining template links feels like a second job. We have a “recommended tools” box injected into about 180 posts. Do you assign every page a separate ID for that one template link, or accept that it is template-level reporting?

    1. Serge Avatar
      Serge

      It depends on the decision you need to make. If you may remove or tailor that box per page, page-level IDs are worth it. If it is genuinely one sitewide component that you only optimize as a unit, a template-level ID is honest and much easier to maintain. Document that reporting level so it is not mistaken for page-specific evidence later.

    2. Rory Avatar
      Rory

      I split ours by template type instead: reviews, tutorials, and roundups. It gave us enough detail without creating hundreds of tags.

  9. bookworm99 Avatar
    bookworm99

    A small warning from someone who learned this the annoying way: don’t build the inventory from what you *think* is on the site. Crawl the deployed URLs too. We had an old redirect in a reusable CTA block, so three dozen posts looked properly tagged in the CMS but landed on a generic affiliate URL after redirecting.

    The report was nonsense until we tested the final destination. Fun times.

  10. Jessica Avatar
    Jessica

    How do you handle a merchant that only gives one SubID field, when the same merchant link appears in a sidebar, inside the article, and in a comparison table? I understand page–merchant–placement IDs in theory, but I can’t fit all that into one short value.

    1. Serge Avatar
      Serge

      Use a compact stable key rather than descriptive text—for example, P184-M22-C for the page, merchant, and placement. Keep the human-readable mapping in your link inventory. If the network truly allows only one parameter, that key should represent the most useful level of reporting, usually page plus placement.

    2. Owen R. Avatar
      Owen R.

      I use a short ID like g42a, then a spreadsheet lookup tells me it means “gift-guide / Merchant X / table row 1.” Not pretty, but it survives URL limits.

About the Author

Serge is an affiliate marketer with 20 years in the field and a WordPress plugin developer. He writes about building, ranking, and monetizing affiliate sites — drawing on tools he’s actually built and used, not just reviewed.