BACK TO BLOG
USE CASESNovember 11, 20269 min read

Rewardful With Causality Engine: Check Affiliate Revenue

JH

By Joris van Huët

Enterprise Interim CMO & Marketing Leader · 15+ years · 50+ orgs

Published

2026-11-11

The short answer: the affiliate figure in Rewardful keeps growing in months when no partner posted anything, and that is the rule working as written. Rewardful, affiliate tracking that reads payments from Stripe or Paddle, keeps a referral cookie for 60 days by default (cookie article), and once a visitor converts, that customer stays with the affiliate permanently (campaign settings). Every later Stripe charge on that customer can carry a commission. The fit is partial: it applies to a store that takes payment through Stripe, not to a standard Shopify checkout. If yours does, and GA4 records the purchases, Causality Engine, a causal read of one GA4 export, gives a free first finding at app.causalityengine.ai/start.

Disclosure: I founded Causality Engine and own it, and this page recommends it. Every claim about it links to Causality Engine's own pages.

Three checks before the affiliate line goes into a budget deck:

  1. Count the months a referral can earn. For example, a customer who first bought through a partner's link in March and pays every month after it has produced 8 charges by October, and all 8 count toward the affiliate total unless the campaign sets a limit.
  2. Read the settings you already have. Open the campaign and note the Cookie window, the Attribution type (first-touch or last-touch), and the two commission limits, Maximum commissions per customer and Maximum commission period (campaign settings).
  3. Look for the Affiliates row in GA4. If it is empty, the partner links carry no utm_medium of affiliate, and the visits sit under Referral or Direct instead (Google's channel rules).

Rewardful and the read, row by row

QuestionRewardfulCausality Engine
What it isAffiliate and referral tracking on Stripe or Paddle (entry)A causal read of the GA4 Attribution paths CSV (entry)
How a sale is creditedA referral link (a via parameter on your own domain) or a Stripe promo code; the customer is then tied to one affiliate (campaign settings, promo codes)Each channel's caused share next to a last-click rebuild (how it works)
What a Conversion isA successful charge or payment in Stripe (definitions)Whatever purchase key events GA4 keeps (one-off read)
Link taggingNone by default; UTM values go into the campaign URL by hand (UTM article)Adds no tag, no pixel
GA4 channelAffiliates only with utm_medium of affiliate (default channel group)Reads every channel the export holds
Connection between themNoneNone (integrations)
What checking costsNothing extraFree first finding; €99 once, excluding VAT (pricing, checked on 11 November 2026)

Which stores this applies to

Rewardful credits a sale only when the payment processor reports it, Stripe or Paddle. Its help article on one-time purchases says it works for any Stripe charge or invoice tied to a Stripe Customer object, so a shop selling through Stripe Checkout, Payment Links or the Buy Button can use it. Payment Links need the option to save payment details switched on, because attribution rests on that customer object (Payment Links guide).

The Platform Integrations collection, read on 11 November 2026, covers subscription-box and course platforms such as Subbly, SamCart and Teachable. Shopify's own checkout is not among its articles. A Shopify store has nothing here to pair, and this page is for the others.

How Rewardful decides a sale is an affiliate's

The definitions article names three stages. A Visitor is a click on a valid link that loads the tracking script. A Lead is the moment referral data reaches Stripe. A Conversion is a successful charge.

The rules around them:

  • Cookie window. 60 days by default, changed per campaign under Edit campaign (cookie article).
  • Two partners, one buyer. The Attribution type picks first-touch or last-touch among affiliate links clicked before the referral is created (campaign settings).
  • After that, permanence. The same article says a converted visitor is "permanently associated with that affiliate". Leaving both commission limits blank means commission on every payment with no time limit.
  • Codes need no visit. A promo code attributes the customer at checkout, with no cookie and no site visit, and the first affiliate keeps the customer even if a second partner's code is used later (promo codes).
  • Refunds adjust. A full or partial refund recalculates the commission, which is based on the amount the customer was charged after discounts (Stripe usage article).

For a subscription product this is sensible. For a store with repeat buyers, it means the affiliate total holds two kinds of order: the first purchase a partner may have prompted, and every reorder after it.

Getting partner traffic into GA4 under Affiliates

Rewardful's links need no redirect: the via parameter sits on your own site's address, as the cross-domain article shows with www.example.com?via=james-bond. GA4 does not read that parameter. An untagged click from a partner's blog arrives as Referral; one from a newsletter app or a PDF has no referrer, and Google's direct traffic page files that under (direct) / (none).

The fix is in the campaign's Website URL. The UTM article says to put the parameters there, and Rewardful appends each affiliate's token. Its sample uses utm_medium=referral, which Google files under Referral. For the Affiliates channel, Google's rule is a medium of exactly affiliate (default channel group). So use utm_source=rewardful&utm_medium=affiliate&utm_campaign=your_campaign, all three, as Google's URL builder page asks.

Two limits from the same article. UTM values are set per campaign, so different values per partner mean separate campaigns. And codes never produce a tagged visit at all: a buyer who types a creator's code arrives through search, an ad or the address bar, and GA4 credits that route.

The claim gap in a worked example

For example, with figures made up to show the arithmetic and no real store behind them: a coffee roaster sells beans and a monthly subscription through Stripe Checkout. In October Stripe records $61,920 in charges.

SourceOctober claim
Rewardful, affiliate-attributed revenue$9,840 (233 charges)
of which, first charges from new referred customers$2,135 (61 charges)
of which, repeat charges from customers referred before October$7,705 (172 charges)
Meta Ads Manager$27,300
Google Ads$31,050
GA4, Affiliates row, after tagging$1,690 (49 purchases)
Stripe, all charges$61,920

Three claims: 9,840 + 27,300 + 31,050 = $68,190, which is 68,190 - 61,920 = $6,270 more than Stripe took. Inside Rewardful's figure, 7,705 ÷ 9,840 = 78% is reorders. GA4 gives affiliates $1,690, against $2,135 of first charges, because 61 - 49 = 12 new buyers came back through another route inside the 60 days.

None of those is a lie. Each counts by its own rule.

The read adds a different column. Per the how-it-works page, it reads the export, splits Direct back to the channels that sent those buyers, and sets each channel's caused share beside last-click, with a data-health score from 0 to 100 and a next step to test in one region first. It reads per channel, so it says nothing about which partner earned a commission. If its Affiliates figure sits far below the reorders Rewardful counts, hold the commission terms and test before moving money.

A free split in Stripe first

No Rewardful setting runs a holdout, so this check is by hand. Rewardful writes the affiliate's details into each referred Stripe customer's metadata, and commission details into each invoice's metadata, so the two can be reconciled (Stripe usage article).

  1. Export one month of payments from Stripe with customer metadata.
  2. Mark every charge whose customer carries Rewardful's details.
  3. Split those by the customer's first charge: this month, or earlier.
  4. Set this month's first charges beside GA4's Affiliates purchases for the same dates.

That alone answers how much of the affiliate line is new buyers and how much is retention, and it costs an afternoon.

Where the read stops

  • It needs GA4 to record the purchase. A sale that happens only inside Stripe, with no GA4 purchase event on the confirmation page, is invisible to it.
  • History matters: the how-it-works page asks for 12 months or more.
  • A channel under 1% of credit on both methods is called too small to act on, and Unassigned traffic is flagged with advice to fix tagging first (pricing for agents). A young program can land there.
  • It does not pay partners, issue codes or catch self-referrals. Rewardful does those.

Rewardful's plans are priced by monthly affiliate-attributed revenue, with Starter capped at $7,500 a month, and a program over its cap is moved to the next tier in the next billing cycle (pricing, pricing schedule, checked on 11 November 2026). So the permanent customer tie and the blank time limit that swell the reorder share also raise the number Rewardful bills on.

After the Stripe split, the paid step is optional. Export the Attribution paths report and drop it on the start page: the first finding is free and computed in the browser. Causality Engine, which I founded, charges €99 for the full read, refundable within 30 days, excluding VAT (pricing).

See also

FAQ

Do Rewardful and Causality Engine exchange data?

No. Neither connects to the other. Causality Engine works from a GA4 file, and Rewardful's partners show up in it only as the visits their tagged links produced (integrations page).

Why is the affiliate total higher than GA4's Affiliates row?

Rewardful credits every charge from a referred customer, codes included, for as long as the campaign allows. GA4 credits a purchase to the session it happened in, and only files a session under Affiliates when its medium is affiliate.

Should I cap the commission period to clean up the number?

That changes what partners earn, so treat it as a commercial decision. For measurement, the Stripe split above separates first charges from reorders without touching anyone's pay.

TAGS
Causality EngineRewardfulAffiliate AttributionGA4Worked Example

ABOUT THE AUTHOR

I am Joris van Huët, an enterprise interim CMO. 15+ years, 50+ organizations, including ING, P&G, Nestlé, BNP Paribas, WeTransfer and Vinted. I take on innovation projects (venture building, design sprints), agentic marketing (setting up and running AI agents) and hands-on multi-channel work. See the track record.

I wrote and published this with AI assistance, and I answer for it. Claims about my own experience are limited to the track record above, and a statistic links to its source or is labelled as an example. I sell interim and fractional CMO work, which is why this site exists. How this site is written.

Agentic marketing, built for your team

The agents in this article, built into your workflows and handed over to your team: the first one within two weeks.

With Joris van Huët, interim and fractional CMO in Utrecht. From EUR 5,000 a month, monthly cycles, a 30-day exit.