Stripe · Mollie · CRM
Your algorithm optimizes on trial signups. Your revenue comes from who pays.
Motiv connects your ad click to the payment your PSP confirms, across the whole trial-to-paid cycle. The conversion you send back to Google, Meta and TikTok is the customer who paid, not the visitor who signed up.
A growing signup graph can hide flat revenue.
Three reasons SaaS attribution breaks down, and why the conversion that matters never reaches the algorithm that's spending your budget.
Your ad platforms count signups. They can't see who paid.
Google, Meta and TikTok optimize on the trial signup, the only event their pixel catches on your site. But the conversion that matters happens later, when your PSP charges the first invoice. That payment never makes it back, so the algorithm keeps chasing signups instead of paying customers.
The payment lands after the click is gone.
A first payment isn't lifetime value.
A signup is not a customer.
Platforms report ROAS on trial signups and view-through. Motiv calculates ROAS on the payments your PSP actually confirmed, traced back to the campaign that earned them.
Each platform grades its own homework. Add Google, Meta and TikTok together and you've attributed far more paid conversions than your Stripe dashboard ever recorded.
Motiv measures the conversion once, at the moment your PSP confirms the payment, and calculates one verified ROAS per channel.
Recurring revenue keeps counting. Every renewal is recorded as subscription.renewed, building lifetime-value reporting per channel without ever being double-counted.
Refunded in week two? Motiv subtracts the refunded amount, so your ROAS reflects the revenue you actually kept.
Motiv ROAS · paid conversions
0.00×Calculated on PSP-verified payments, not trial signups, not view-through. One number across every channel.
Google Ads
Self-reported
Meta
Self-reported
TikTok
Self-reported
* Representative example, actual numbers depend on your PSP data
Attribution that follows the money, not the signup.
Motiv connects your payment processor and CRM to your ad clicks, server to server. Every paid conversion is traced back to the campaign that earned it, whether the customer self-serves, checks out directly, or closes through sales.
Customer journey
Ad platform
Google | Meta | TikTok
Lead source
i.e. Account created | Trial | Demo
lead.createdRevenue source
PSP: Stripe | Mollie · any CRM
lead.convertedRestricted
Shown as Attribution Gap, never dispatched
Observed
Both signals dispatched to Google, Meta, TikTok: lead.created + lead.converted
Your lead source is where the relationship starts: an account created, a trial, or a booked demo. That fires lead.created, the top-of-funnel signal. Your revenue source is where the payment lands: Stripe or Mollie for self-serve and direct checkout, or your CRM for sales-led deals that close later. That fires lead.converted, the bottom-of-funnel signal. Motiv ties both back to the original ad click and dispatches both to Google, Meta and TikTok, so your algorithm keeps finding signups and learns which ones become paying customers. Restricted conversions stay visible as Attribution Gap, in euros per channel.
Optimize on payments. Track every renewal.
The verified paid conversion goes back to your ad platforms. Recurring revenue builds your LTV view. Refunds keep it honest. All from your PSP, server-side.
Send your algorithm the payment, not the signup.
The trial signup is a proxy. The PSP payment is the truth. Motiv dispatches the verified paid conversion so bidding optimizes on customers who actually pay.
Connect your PSP, not a pixel
Stripe and Mollie connect via a signed webhook. When a payment clears, Motiv merges it to the original click through the hashed email and client_reference_id. No browser, no expired cookie, no lost attribution.
Server-side, consent-enforced dispatch
Only Observed conversions, those with valid marketing consent, are dispatched to Google, Meta and TikTok. Restricted payments stay visible in your dashboard as Attribution Gap, never sent. Compliance is enforced in the pipeline, not a setting.
Track recurring revenue without counting it twice.
A subscription pays every month. Motiv records each renewal for lifetime-value reporting, without re-billing you or re-dispatching the same customer.
Renewals become subscription.renewed
Every recurring invoice.paid is stored as subscription.renewed, counted once per customer and never re-dispatched. It doesn't inflate your conversion count, while your dashboard builds an LTV view per channel over time.
Refunds keep the number honest
When a payment is refunded, Motiv subtracts the refunded amount, so your Motiv ROAS reflects money you actually kept, not gross charges that later reversed.
Everything you need to attribute subscription revenue.
Find out which campaigns bring customers who actually pay.
Connect Stripe, Mollie or your CRM in under 20 minutes. See your first PSP-verified paid conversions attributed by channel within 24 hours. No developer. No pixel. No vanity metrics.
SaaS FAQ
How Motiv works for trials, payments, and renewals, answered. Can't find what you're looking for?
Still have questions?
Start free trial →