Which channel brings the customers who pay?
Count buyers per channel, not visits. In MIRA FIVE, Acquisition › Channels lists visits, people, buyers and conversion for every channel, by first or last touch, and each number opens the people behind it.
Short guides to attribution, journeys and goals, each opening with the answer to one question.
Count buyers per channel, not visits. In MIRA FIVE, Acquisition › Channels lists visits, people, buyers and conversion for every channel, by first or last touch, and each number opens the people behind it.
Create a goal under Goals, choose the event that marks a purchase, and give it the Purchase role. MIRA FIVE then counts buyers, revenue per currency and the time from a person's first visit to their first purchase.
MIRA FIVE offers two attribution views. First touch credits the channel that first brought a person; last touch credits the most recent channel that brought them back from outside. Use first touch to judge what finds customers, last touch to judge what brings them back to buy.
MIRA FIVE sorts visits from ChatGPT, Perplexity, Claude, Gemini and Copilot into their own channel, AI assistants, from the referrer. Acquisition › Channels shows their visits, people and buyers; only a click through to your site leaves a visit to count.
Build a funnel on Journeys › Funnel from two to six actions or goals, in the order people take them, and read the drop between each pair of steps. Every step opens the people who reached it and the people who stopped there.
Cost per buyer is a campaign's spend divided by the people it brought who paid. MIRA FIVE imports your Google Ads spend per campaign and day, joins it to visits by utm_campaign or gclid, and shows cost per buyer beside ROAS for every campaign.
Tools that set cookies measure only the visitors who accept, and with a compliant banner many decline. MIRA FIVE counts visits, channels and campaigns without cookies in its default setup and follows people only with consent. On a website source set to Full, each page picks the mode per visitor, and the dashboard shows how much of your traffic was collected with consent.
A visit counts as Direct when it arrives without a referrer, UTM tags or an ad click id, which happens far more often than people typing your address. Tag every link you control and keep Google Ads auto-tagging on, and Direct shrinks back to bookmarks, typed addresses and returning customers.
Tag every link you control with utm_source, utm_medium and utm_campaign, in lower case and spelled the same way everywhere. The medium decides most of the channel, so use cpc for paid search, paid_social for paid social, email for newsletters and social for your own posts.
Each ad platform counts every purchase it can connect to its own ads, including views, other devices, modeled and repeated conversions, so together they can claim far more sales than the shop recorded. One honest number starts from your own purchase events, counts each buyer once and divides spend by those buyers.
ROAS is revenue divided by ad spend, and cost per buyer is ad spend divided by the people who bought. A campaign pays for itself when its ROAS is above 1 divided by your gross margin, which is 2.5 at a 40% margin.
Long enough to find the smallest change worth knowing about, in whole weeks, fixed before the test starts. With 1,000 people a week and a 4% base rate, 2 weeks can find a change of about +70%, 4 weeks about +48% and 8 weeks about +33%.
One script for any site, or an SDK for the framework you use.
One integration bundles the tracker into your own build, and an endpoint reports the orders that paid.
One provider in the root layout counts every route change, and your route handlers report the orders that paid.
One client and one provider count every navigation, and your server reports the orders that paid.
One Blade directive counts every visit, and the Mira facade reports each paid order after the response.
One module counts every route, and your server routes report the orders that paid.
One bundle prints the tracker in Twig and sends each paid order once the response has gone out.
One client sends your server events when the request ends, and an idempotency key makes a repeated webhook count once.
One Vue plugin counts every navigation, Vue Router included, and your server reports the orders that paid.
One provider counts every route change, and request middleware hands your server functions a client for the orders that paid.
One server client sends your paid orders from any JavaScript runtime, and an idempotency key makes a repeated webhook count once.
A mutation schedules the delivery instead of sending it, so an order that rolled back never reaches your numbers.
One client counts every navigation with any router, and one call records the paid order with its revenue.
Two lines in the head of every page count each visit, and one more on the confirmation page records the paid order with its revenue.