See which channel brings trials that pay.

MIRA FIVE follows each consenting person from first visit to paid invoice, with Google Ads cost per paying customer.

Sample conversion journeys: 8 buyers came direct, 7 via paid search and then direct, 5 via organic search, 4 via paid social, email and then direct, and 3 via an AI assistant and then organic search. Buyers bought after a median of 10 days.

What you want to know

  • Which channel brings trials that convert to paid?
  • What did a paying customer cost on Google Ads?
  • Where do sign-ups stall before the first payment?
  • Does a pricing page change bring more paying customers?

Which channel brings trials that turn into paid plans?

Mark the trial start as a Conversion goal and the first payment as your Purchase goal. The trial goal shows where its people first came from; Acquisition shows which channels brought the ones who paid. Conversion journeys list every channel a customer came through before paying.

  • Nine channels, by first or last touch
  • Stages from Visitor to Known and Customer
  • Time from first visit to first payment
  • AI assistants such as ChatGPT as a channel of their own

What did a paying customer cost on Google Ads?

Connect Google Ads, and spend arrives daily, joined to the visits it paid for. With the payment as your Purchase goal, each campaign's cost per buyer counts paying customers, not sign-ups. Campaigns that spend without matched visits are flagged, with the tag to add.

  • Cost per visit, cost per buyer and ROAS per campaign
  • First touch credits the campaign that found them
  • Google Search Console: brand and other searches
  • Meta Ads is next

Where do sign-ups stall?

A funnel from pricing page to sign-up to first payment shows where people stop, counted by person over up to 30 days. Each step opens the people who stopped there, with every visit and event. An Intent goal on the pricing page lists who looked and has not paid yet.

  • 2 to 6 steps, each an action or a goal
  • High intent: people close to buying, in one list
  • A/B test a change, decided by the goal you pick
  • Feature flags roll a change out to a share of people

Honest about consent, hosted in Germany

The default script counts visits, pages and sign-ups without cookies. Following a person from first visit to paid plan needs their consent, and the dashboard shows the share who agreed. Hosting is one part of compliance; the rest depends on what you collect and why.

  • After consent, ids live in localStorage
  • Server events use a secret key that stays on your server
  • Run by Cloo GmbH in Auerbach, Germany
  • Analytics data stored and processed in Germany

What does setup take?

Three pieces: the script in the head of your site and app, the consent line from your banner, and the payment event from your backend. The setup page lists who does what, ready to send to your developer. Each source's Install tab also offers “Let your coding agent install it”, a prompt for Claude Code, Cursor or Codex.

  • Script tag, or the SDK for React, Next.js, Vue, Nuxt or Astro
  • Consent line: only to follow people who agree
  • identify on sign-in, reset on sign-out
  • Payment event from your webhook handler

Send the payment from your webhook handler

When your payment provider reports a paid invoice, your own webhook handler sends the event with the secret key of a server source. Use the id your app passes to identify at sign-in, so the payment lands on that person. The invoice id as idempotency key makes a repeated webhook count once.

The code for webhooks/payment.ts: import { Mira } from '@mirafive/sdk-server' const mira = new Mira({ key: process.env.MIRAFIVE_SECRET_KEY }) // in the handler for a paid invoice await mira.send( [{ name: 'subscription_paid', userId: customer.id, properties: { revenue: 49, currency: 'EUR' } }], { idempotencyKey: invoice.id }, )

Setup, step by step

From first visit to first invoice

A typical path, as MIRA FIVE records it. Someone finds your product through a Google search and reads the pricing page. A week later they come back through your newsletter and start a trial. Two weeks after that, the first invoice is paid.

Their page under People follows the stages: Visitor on the first visit, Returning on the second, Known after signing in, Customer with the first payment. Because your app calls identify at sign-in, the earlier visits in that browser join the account. The payment your server sends carries the same id, so it lands on the same person, next to the search that first brought them.

Reading it by channel

Acquisition counts that person as a buyer for Organic search by first touch, or for Email by last touch. The Purchase goal adds time to purchase, from first visit to first payment, as a median across all paying customers. How to set up a purchase goal walks through the goal itself.

Tests and flags on the same script

When you change onboarding or pricing, a feature flag rolls the change out to a share of people and turns it off with one switch. An A/B test measures it against the original, decided by the goal you pick. Both use the same people and the same goals, so paid plans can decide a pricing page test, not clicks.

Questions and answers

Does MIRA FIVE connect to Stripe or Mollie?
No, payment providers are not imported. The webhook handler in your own backend sends each paid invoice as an event, with the SDK for Node.js, PHP or Laravel, or over HTTP.
Do I need a developer?
Yes, for the webhook handler and the identify call. The rest is the script and a consent line. The setup page lists every step, and the Install tab has a prompt for Claude Code, Cursor or Codex.
Can I test a pricing page change?
Yes. A page experiment shows the original or one change, split 50/50, and your purchase goal can decide it. You plan 2, 3, 4, 6 or 8 weeks up front, and it counts people who consented.
What about visitors who decline the banner?
With a Full source, each page can count them as visits without cookies and switch to full mode only for people who agree; the tag alone sends nothing for them. Paying customers per channel cover the people who agreed, and the dashboard shows their share.

Read next

How to set up a purchase goal

Set up conversion tracking with a purchase goal, revenue read from your events, one total per currency, and the time from first visit to paid plan.

Which channel brings the customers who pay?

Rank marketing channels by the buyers they bring instead of visits, with first or last touch, revenue per channel, campaigns and Google Ads cost per buyer.

How to find where buyers drop out

Build a conversion funnel of two to six steps, see where buyers drop out between them, and open the people who stopped. Counted by person or by visit.

Other kinds of business

See which channel brings buyers

Free for 25,000 events a month. No card needed.