# Know which campaign brings your shop's buyers.

> Analytics for online shops: which channel and Google Ads campaign brought each buyer, what each buyer cost, and where people drop out before paying.

URL: https://mirafive.io/solutions/online-shops  
Updated: 2026-09-28

MIRA FIVE shows which channel and Google Ads campaign brought each buyer to your shop, and what each cost.

Sample data: Google Ads over the last 30 days: €312.40 spent on 1,204 clicks brought 41 buyers and €2,870 in revenue, a return of 9.2× and €7.62 per buyer. Shopping · merino brought 19 buyers, Brand search 17 at 14.7×, Performance Max 5\. Google Search sent 448 clicks; the top query was “merino wool sweater”.

## What you want to know

- Which campaign brings buyers, not only clicks?
- What did each buyer cost on Google Ads?
- Why does the ad platform report more sales than my shop?
- Do visitors from ChatGPT buy?
- Where do buyers drop out between product page and checkout?

## Which campaign brings buyers, not only clicks?

Acquisition counts people and buyers for nine channels and every campaign in them, by first or last touch. In the sample shop, Organic search brought 24 buyers and Direct 22 in 30 days. Every number opens the people behind it.

- Campaigns from UTM tags and ad click ids
- AI assistants as a channel of their own
- ChatGPT sent 52 visits and 6 buyers
- Filter the Overview by a channel to see its revenue

## What did each buyer cost on Google Ads?

Connect Google Ads, and spend arrives every day, joined to the visits it paid for. Each campaign shows cost per buyer and ROAS, counted from your own paid orders. In the sample shop, €312.40 brought 41 buyers, €7.62 each.

- Brand search: 17 buyers for €84.20
- Performance Max: 5 buyers for €76.60
- Untagged campaigns flagged, with the tag to add
- Meta Ads is next

## Where do buyers drop out before paying?

A funnel counts the people who reached each step from product page to paid order. In the sample shop, 812 viewed a product, 391 added to cart, 231 started checkout and 138 paid. Each step opens the people who stopped there.

- 2 to 6 steps, by person or by visit
- A window of 1, 7, 14 or 30 days
- The segment “Left a cart this week” holds 23 people

## Honest about consent, hosted in Germany

The default setup counts visits, channels and paid orders without cookies. Buyers and cost per buyer come from visitors who agreed, and the dashboard shows their share. Hosting is one part of compliance; the rest depends on what you collect and why.

- After consent, ids live in localStorage
- Decliners can be counted without cookies, if each page picks the mode per visitor
- Run by Cloo GmbH in Auerbach, Germany
- Analytics data stored and processed in Germany

## What does setup take?

Three pieces: the script in your theme's head, the consent line from your banner, and the paid order. There is no plugin for Shopify, Shopware or WooCommerce, so the lines go into the theme and the order confirmation page, or into your server. On Shopify the order status page no longer runs your own scripts, so there the paid order comes from a server that receives Shopify's order webhook. The [setup page](https://mirafive.io/setup) lists who does what, ready to send to your developer.

- Script: two lines in the head, about 4 kB
- Consent line: only to follow people who agree
- Paid order: confirmation page or server
- Install tab: “Let your coding agent install it”, a prompt for Claude Code, Cursor or Codex

## Send the paid order from the confirmation page

Put this line on the order confirmation page; your template fills in the total and currency. With consent, the order lands on the person who paid. For exact counts, send it from your server instead: a server event arrives past ad blockers and closed tabs, and the order id as idempotency key makes a repeated webhook count once. On Shopify the order status page no longer runs your own scripts, so there the paid order comes from a server that receives Shopify's order webhook.

```
<script>
  mirafive('track', 'order_paid', { revenue: 328, currency: 'EUR' })
</script>
```

[Setup, step by step](https://mirafive.io/setup)

## One buyer’s path, from ad to order

Emil Becker was first seen in the sample shop, Acme Shop, 11 days ago, through an Instagram ad. Acquisition files that visit under Paid social. A few days later he clicked the newsletter, a visit under Email. Then he searched Google, came back through Organic search and paid €328.

His page under **People** shows the three visits in order, with the pages he saw and the order at the end. First touch credits the purchase to the Instagram ad, last touch to the Google search. First touch shows what found him; last touch shows what brought him back. [First touch vs. last touch](https://mirafive.io/learn/first-touch-vs-last-touch) explains which view answers which question.

## Why his visits join up

Emil agreed on the banner, so the script kept an id in his browser’s localStorage and knew him on every return. For a visitor who declines, nothing is sent unless your pages count decliners without consent; then each visit counts on its own, and an order sent from the browser counts as an event without a person. That is why buyers per channel cover the people who agreed.

A paid order from your server lands on the person when the page passed the same customer id to `identify`, for example at sign-in. Without that id, the line on the confirmation page is what ties the order to the person.

## Where to look first

After the first week, open **Acquisition › Ads** and compare cost per buyer across campaigns. In the sample shop, Performance Max costs €15.32 per buyer, twice the average, and is the campaign to question first. [How to see your Google Ads cost per buyer](https://mirafive.io/learn/google-ads-cost-per-buyer) walks through the screen.

## Questions and answers

### Is there a plugin for Shopify, Shopware or WooCommerce?

No. The script goes into your theme's head, and the paid order onto the order confirmation page or into your server; on Shopify, from a server that receives the order webhook. The [setup page](https://mirafive.io/setup) lists each line for whoever edits your shop.

### Do I need a developer?

You need someone who can edit your theme. The script is two lines and the paid order one more. Each source's Install tab also has a prompt for Claude Code, Cursor or Codex.

### 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. Buyers and cost per buyer cover the people who agreed, and the dashboard shows their share.

### Why does Google Ads report more sales than my shop?

Google Ads counts the conversions it touched, can include modelled ones and dates them to the ad click. MIRA FIVE counts the people who paid, once each, from your own paid orders.

## Read next

### [How to see your Google Ads cost per buyer](https://mirafive.io/learn/google-ads-cost-per-buyer)

Google Ads cost per buyer divides spend by the people who paid, not by the conversions Google counts. How MIRA FIVE joins spend to visits and shows ROAS.

### [How to find where buyers drop out](https://mirafive.io/learn/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.

### [How to track traffic from ChatGPT](https://mirafive.io/learn/track-traffic-from-chatgpt)

Track traffic from ChatGPT, Perplexity, Claude, Gemini and Copilot as a channel of its own, and see which of those visitors went on to buy.

### [First touch vs. last touch attribution](https://mirafive.io/learn/first-touch-vs-last-touch)

First touch credits the channel that found a customer, last touch the one that brought them back. When to use which, with one worked example.

### Related terms

- [Funnel](https://mirafive.io/glossary/funnel)
- [ROAS](https://mirafive.io/glossary/roas)

## Other kinds of business

- [SaaS](https://mirafive.io/solutions/saas)
- [Courses and coaching](https://mirafive.io/solutions/courses-and-coaching)
- [Services and bookings](https://mirafive.io/solutions/services-and-bookings)

## See which channel brings buyers

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

[Start free](https://app.mirafive.io/register)[See pricing](https://mirafive.io/pricing)
