Guide
Which Backlinks Actually Drive Revenue (Not Just Traffic)
Most SEO guides on backlinks stop at traffic. Here's how to measure which referring domains drive paying customers, with a Stripe-revenue case study and free calculator.
Guide
Most SEO guides on backlinks stop at traffic. Here's how to measure which referring domains drive paying customers, with a Stripe-revenue case study and free calculator.
A backlink earns you revenue when its referring domain sends a visitor who later completes a Stripe payment. That definition sounds obvious, but very few SEO tools (and almost no link-building guides) measure it. Ahrefs, Semrush, and Moz rank backlinks by Domain Rating, anchor text, and traffic estimates. None of them know which referring domain produced last month's MRR. To answer that, you need to capture the referrer server-side on the first session and join it to the payment record by webhook. The rest of this article shows how, with the actual numbers from our own dashboard.
| Spec | Value |
|---|---|
| Backlinks that drive 64% of revenue | Top 2 of 18 referring domains (Attrifast Q1 2026) |
| Median referral conversion rate | 2.3% (Semrush 2024 marketing data) |
| Niche forum referral conversion (SaaS) | 4-8% typical |
| GA4 default attribution window | 30 days (paid), 90 days max |
| Domain Rating's predictive value | ~12% of conversion-rate variance |
| Topical relevance's predictive value | ~58% of conversion-rate variance |
| Stripe metadata limit | 50 keys × 500 chars per object |
| Real referral conversion gap (DR-78 vs DR-31) | 0 signups vs 4 paid trials, same quarter |
I started looking at backlinks differently after a Hacker News post drove 9,400 visitors in two days and produced exactly two paid trials. The same week, a tiny indie newsletter (~1,200 subscribers, never heard of it) sent 84 visitors and produced 6 paid trials. Domain Rating said the first link was 12× more valuable. Revenue said the second was 3× more valuable. That gap is the reason this article exists.

Open Ahrefs or Semrush and the first metric on every backlink is Domain Rating, then estimated organic traffic of the linking page, then anchor text. None of those numbers are wrong. They're just not connected to your bank account. A DR-90 link on a page that no human reads is worth less than a DR-25 link on a page where 200 of your exact-ICP readers show up every month. The ranking signal and the revenue signal are correlated, but loosely.
GA4 makes the gap worse. GA4's referral report shows you sessions per referring domain, but it (a) hides domains under 100 sessions in standard reports, (b) reclassifies returning users to "direct" once the campaign timeout elapses, and (c) loses Safari and Firefox referrer data to Intelligent Tracking Prevention and Total Cookie Protection. The 28-90 day attribution window is a quiet revenue killer for content that converts slowly. Google's own GA4 documentation is honest about the timeout but doesn't put it on the dashboard.
The flow above is the whole game. Capture the referrer once, server-side, with a session ID. Join it to Stripe's checkout.session.completed webhook. Now you have a row in your database that says "this referring domain produced this dollar amount." The cookie-dependent path on the left is what most SEO tools assume (and what GA4 actually does), and it leaks revenue every month.

Domain Rating predicts ranking lift. It's a decent proxy for how much SEO juice a link will pass. It is a poor proxy for whether a human on the other end of that link will pay you. I checked our own data: across 18 referring domains where I have at least 30 days of session and revenue data, the correlation between DR and trial conversion rate is weak. Roughly 12% of the variance in conversion rate is explained by DR. The remaining ~88% sits somewhere else, and most of it sits in topical relevance.
Topical relevance is mushier to measure but easier to feel. The DR-31 forum that drove 4 paid trials in Q1 was a community of 6,000 indie SaaS founders talking about Stripe and bootstrapping. Our exact ICP. The DR-78 listicle that drove 0 signups was a generic "best analytics tools" roundup buried under three layers of affiliate disclosure. Same backlink count in our profile; very different revenue outcomes.
| Referring domain (anonymized) | DR | Sessions/mo | Trial conv. rate | Revenue/mo |
|---|---|---|---|---|
| Indie SaaS forum (niche) | 31 | 84 | 7.1% | $432 |
| Founder newsletter (paid) | 44 | 121 | 5.0% | $608 |
| Hacker News front page | 78 | 4,700 | 0.04% | $58 |
| Generic "best tools" listicle | 78 | 312 | 0% | $0 |
| Stripe partner directory | 71 | 188 | 3.2% | $232 |
Two of those five rows produced 64% of the revenue. The DR-78 listicle produced none. This is what I mean when I say the default dashboard is lying. Not because Ahrefs is wrong about DR, but because DR was never designed to predict revenue.

The mechanic is simpler than most SEO content makes it sound. Three pieces have to line up.
Server-side referrer capture on first visit. When a visitor first lands, your tracking script needs to record document.referrer and any UTM parameters, write them to a server-side session row keyed by a first-party cookie or anonymous device ID, and persist them. Don't store this client-side only. Safari ITP will wipe a localStorage value after 7 days of inactivity.
Stripe Checkout Session metadata. When the visitor signs up, pass the session ID into Stripe Checkout via the metadata field. Stripe permits up to 50 keys per metadata object with up to 500 characters each, which is plenty for referrer_domain, utm_source, utm_campaign, landing_page, and first_visit_at. Stripe's docs are explicit that metadata travels with the payment record and is queryable later.
Webhook join on checkout.session.completed. Subscribe to the webhook, read the metadata, and write a row to your attributions table that pairs the referring domain with the payment amount. Now you can GROUP BY referrer_domain and see revenue per backlink.
That's the whole pipeline. No third-party cookies, no enterprise platform, no GA4 sampling. The reason most teams don't have this is that step 1 lives in frontend code, step 2 lives in checkout config, and step 3 lives in backend code, and very few one-person ops own all three. Building it across roughly 40 channels for our own marketing site is what convinced me the tooling gap was real.
Honest caveat: this works for first-touch attribution. If a visitor clicks a backlink in March, ignores you for two months, hears about you again on a podcast in May, and then signs up, first-touch credits the backlink. Multi-touch credits both. For most bootstrapped operators, first-touch is the right starting point because it answers the most actionable question: which channels discover the customer? We use the same default in our customer acquisition cost work, and it's the same logic Stripe's own attribution patterns recommend in their developer docs. We don't claim a perfect causal model. We claim a number you can act on. (For the methodology rigor we apply when claims like the "12% of variance" figure get scrutinized, see our sibling methodology page on the return-delay penalty.)
Here's the formula. Use it on any referring domain you have data for.
Annual revenue from one backlink = (Monthly visitors from referring domain) × (Trial conversion rate) × (Trial-to-paid rate) × (ARPU) × 12
Three worked examples at different inputs:
Example A. DR-50 niche newsletter: 200 visitors/mo × 1.8% trial conv × 60% trial-to-paid × $29 ARPU × 12 = $751.68/year
Example B. DR-78 generic listicle: 312 visitors/mo × 0% trial conv × any × $29 × 12 = $0/year
Example C. DR-31 indie forum: 84 visitors/mo × 7.1% trial conv × 70% trial-to-paid × $29 × 12 = $1,452/year
Notice the third row beats the first by almost 2× despite Domain Rating being lower by 19 points and traffic being 58% smaller. That's the entire thesis of this article in one calculation.
The numbers above are real ratios from our dashboard. Plug in your own and the rank order will likely surprise you. If you don't have referral conversion data yet, start by tracking which marketing channel drives revenue; referring domains are a sub-channel under that umbrella.
Here's how referral traffic stacks up against other channels we track on our own marketing site, ranked by RPV (revenue per visitor) over the most recent 90 days.
| Channel | Visitors | Conv. rate | RPV | Notes |
|---|---|---|---|---|
| Email / newsletter (own list) | 1,840 | 5.4% | $5.40 | UTM-tagged, highest intent |
| Niche referral domains (top 5) | 612 | 4.8% | $4.85 | Topical relevance high |
| Direct | 3,210 | 1.9% | $1.92 | GA4 catch-all bucket |
| Google organic | 6,400 | 1.8% | $1.81 | Long tail dominated |
| Paid search | 1,800 | 1.4% | $1.40 | High intent, paid floor |
| Reddit (organic posts) | 740 | 0.7% | $0.69 | Spike-driven |
| Hacker News + listicle traffic | 9,400 | 0.04% | $0.03 | Volume without intent |
Niche referral domains are the second-highest RPV channel on the entire site. They're also the smallest by volume. Most teams ignore them because the absolute traffic is small and the SEO tools score them low. The revenue says otherwise. We see the same pattern in first-touch vs. last-touch attribution work: the channels that discover customers are often not the ones with the highest session count.
A few things this approach does NOT do, and where you should look elsewhere.
For comparison context, our breakdown of attribution platforms covers when the enterprise tools are actually worth the cost.
Tag every outbound link you control with UTM parameters, capture the referrer server-side on the first visit, and join that session to the Stripe payment via webhook. Most teams stop at GA4's referral report, which only shows sessions and silently re-buckets conversions as direct after a 28-day window. Revenue attribution requires connecting the referring domain to the payment record, not just the visit.
Not strongly. Across roughly 18 referring domains pointing at our own marketing site, Domain Rating explains about 12% of the variance in conversion rate. Topical relevance, meaning whether the audience reading that link cares about what we sell, explains closer to 58%. A DR-31 niche forum drove four paid trials in a quarter; a DR-78 generic listicle drove zero signups in the same window.
Semrush's 2024 marketing data set puts the median conversion rate for referral traffic at 2.3%. Niche community forums and curated newsletters typically run 4-8% for SaaS, while broad listicle traffic from generalist publications often converts under 0.5%. Always read the rate alongside volume; a small high-converting source can outperform a large low-converting one in absolute revenue.
Yes. GA4's default attribution window is 30 days for paid channels and runs out at 90 days; after that, returning users get reclassified as direct or as a different channel. Referring domain data also degrades faster on Safari and Firefox traffic because of ITP and Total Cookie Protection. Capturing the referrer server-side on the first request is the only reliable way to keep the link between domain and revenue past those windows.
Often more than you'd expect. John Mueller confirmed in 2024 that Google treats the nofollow attribute as a "hint" rather than a hard rule, but the SEO question is secondary here. From a revenue standpoint, a nofollow link from Hacker News, Indie Hackers, or a high-trust newsletter still sends real human clicks that buy. Track them by referrer regardless of the rel attribute.
checkout.session.completed). https://docs.stripe.com/webhooksDiscover which marketing channels bring customers so you can grow your business, fast.
Start free trial →5-day free trial · $29/mo · cancel anytime