# Metrunio Knowledge Base Locale: es Source: https://bench.metrunio.com/es/ayuda ## Product and positioning - Medición y atribución para tiendas online: https://bench.metrunio.com/es - Recorridos, atribución y respuestas de tus datos: https://bench.metrunio.com/es/producto - Conecta Shopify, Shopware, WordPress, GTM y API: https://bench.metrunio.com/es/integraciones - App de Shopify para tracking y atribución: https://bench.metrunio.com/es/integraciones/shopify - Plugin de Shopware para tracking y atribución: https://bench.metrunio.com/es/integraciones/shopware - Plugin de tracking para WordPress y WooCommerce: https://bench.metrunio.com/es/integraciones/wordpress - Siete modelos de atribución comparados: https://bench.metrunio.com/es/atribucion - GA4, Matomo e informes de plataforma comparados: https://bench.metrunio.com/es/comparativa - Atribución para agencias, separada por cliente: https://bench.metrunio.com/es/agencias - Precios y tarifas: https://bench.metrunio.com/es/precios - Privacidad y seguridad: https://bench.metrunio.com/es/seguridad ## Provider Metrunio is a product of Kokolorum GmbH, Industriering Ost 66, 47906 Kempen, Germany. Registered at the Amtsgericht Krefeld (local court) under HRB 21981 on 30 September 2026. Managing director: Jens Lukas. - Imprint: https://bench.metrunio.com/es/aviso-legal - About: https://bench.metrunio.com/es/sobre-nosotros ## How to use this document You answer questions about the Metrunio product using the help centre excerpts provided. Answer in Spanish and address the reader informally (tú, tu, te). The excerpts are in English; translate what you use. Rules: - Use only the excerpts provided. If they do not cover the question, say so and point to the help centre. - Cite the source URL of every excerpt you rely on. - Do not invent numbers, prices, endpoints or field names. - Where an excerpt marks something as a draft with a legal reservation, keep that qualification. - Questions about a customer’s own measurement data belong in the portal chat, not here. - Attributed revenue is distributed by a model and does not show that a campaign caused anything. ROAS is a ratio of attributed revenue to ad spend, not profit. Keep measured (recorded by Metrunio itself), attributed (distributed by a model) and reported (what an ad platform says about itself) apart. - Be brief. Steps as a numbered list, everything else in prose. - Do not use dashes (– or —) as punctuation. Split the sentence or use a comma or a colon instead. --- --- slug: was-ist-metrunio title: "What is Metrunio?" category: grundlagen locale: en updated: 2026-10-17 keywords: ["Metrunio","product","overview","customer journey","attribution"] questions: ["What does Metrunio do, and who is it for?","What can Metrunio do?","Why would I need Metrunio?","Is Metrunio an analytics tool?"] url: https://bench.metrunio.com/en/help/was-ist-metrunio --- # What is Metrunio? **What does Metrunio do, and who is it for?** Metrunio shows you which measured ad contacts preceded your orders or leads, and distributes revenue by a rule you can see and change. It measures clicks, visits and conversions with its own signals and, wherever your own tag is served, the delivery and viewability of ads as well. It is built for shops, agencies and SaaS businesses that allocate ad budget and need a source that is not owned by the platform being advertised on. ## The starting point Every advertising platform reports on its own performance. Add the reports up and you often get more conversions than actually happened: the same order or lead is claimed by Meta, Google and the newsletter at once. Metrunio measures that event once, with its own signals, and attributes it by a disclosed rule. ## What is included - Click tracking through signed links with no open redirect. - Impression tracking through your own 1×1 pixel. - Viewability measurement through a separate tag. - Website and conversion measurement via tag manager, snippet or server API. - Web analytics on every plan: page views, visits, visitors, time on site and bounce rate, by channel, page and technology, counted for visitors with consent. - Journeys linked exclusively through unambiguous identifiers. - Seven attribution models, each with and without post-view: six disclosed rules and one data-driven. The Start plan calculates with one of them, without post-view; all seven side by side and post-view come with Pro. - Data quality findings with cause, effect and the next step. - CSV export of conversions, customer journeys and attribution by channel, every row with period, environment and time of the data. ## Who it is for | Role | Typical question | | --- | --- | | Marketing | Which channel took part in a conversion, and in what order? | | Agency | Which display contacts preceded my client’s orders, and what share is attributed to them? | | Engineering | How do I report shop conversions securely without a browser? | | Privacy | What exactly is stored, and how is a deletion carried out? | > **Note:** Web analytics is included: page views, visits, time on site and bounce rate, counted for visitors with consent. Heatmaps and session recordings are not part of it, and Metrunio is not a consent management platform either. ## Also asked - What can Metrunio do? - Why would I need Metrunio? - Is Metrunio an analytics tool? ## Related - https://bench.metrunio.com/en/help/unterschied-web-analytics - https://bench.metrunio.com/en/help/webanalyse - https://bench.metrunio.com/en/help/was-metrunio-nicht-tut - https://bench.metrunio.com/en/help/einrichtung-ueberblick --- --- slug: unterschied-web-analytics title: "How does Metrunio differ from web analytics?" category: grundlagen locale: en updated: 2026-10-17 keywords: ["Google Analytics","GA4","web analytics","difference","post-view","engaged views","view-through"] questions: ["We already have Google Analytics. Why add Metrunio?","Does Metrunio replace Google Analytics?","Do I still need GA4 if I have Metrunio?","What can Metrunio do that GA4 cannot?","Do we need both?","Does Google Analytics count views without a click?"] url: https://bench.metrunio.com/en/help/unterschied-web-analytics --- # How does Metrunio differ from web analytics? **We already have Google Analytics. Why add Metrunio?** Metrunio has its own web analytics with page views, visits, time on site and bounce rate, counted for visitors with consent; it does not have funnels built from pages, search terms or modelled figures for visitors without consent, as GA4 offers them. Beyond that, Metrunio measures the delivery and viewability of creatives in supported environments itself and connects them traceably with the conversion. From the Pro plan it shows two models compared head to head and all seven in one table, along with the individual conversions and journeys behind them. | Question | Web analytics, using GA4 as the example | Metrunio | | --- | --- | --- | | How many visits did the website have, and how long did they stay? | yes; in advanced Consent Mode also with cookieless measurements and, above a minimum amount of data, modelled for visitors who decline | yes, counted for visitors with consent; those who decline are not added in | | Funnels built from pages, shop search terms | yes | no; funnel steps your code reports are evaluated in the funnel report | | Which creatives were served, and were they visible? | through the Ad Manager link (ad_impression event), in apps and on your own websites, for ads you sell there yourself; not creatives on third-party inventory | your own impression pixel and viewability tag, on display, programmatic and affiliate | | Do viewable impressions without a click count? | on YouTube as an engaged view, with a window you set from 1 to 30 days | as post-view, wherever your own tags may be served; reported separately | | Which click led to the site? | yes | yes, through a signed tracking link | | How is a conversion attributed? | three models, one of them data-driven | seven models: two head to head, all seven in one table | | Can every figure be recalculated? | through the raw-event export to BigQuery | CSV export of the individual conversions and journeys, with the same values as the reports | Whether you keep GA4 alongside depends on your questions. Web analytics in Metrunio shows you visits, pages, sources and time on site, together with the ad contacts before the order or lead. If you need funnels built from pages, search terms or figures about visitors without consent, keep running GA4. Using both side by side is not a contradiction. > **Note:** The statements about GA4 follow Google’s own documentation. Sources and retrieval dates are on the comparison page of the website; they are re-checked after six months at the latest. > **Caution:** Do not expect identical numbers. Different time windows, models and consent rules necessarily produce deviations. More on this in “Why do my numbers differ from Meta and Google?”. ## Also asked - Does Metrunio replace Google Analytics? - Do I still need GA4 if I have Metrunio? - What can Metrunio do that GA4 cannot? - Do we need both? - Does Google Analytics count views without a click? ## Related - https://bench.metrunio.com/en/help/was-ist-metrunio - https://bench.metrunio.com/en/help/webanalyse - https://bench.metrunio.com/en/help/weniger-besuche-als-ga4 - https://bench.metrunio.com/en/help/post-view-verstehen - https://bench.metrunio.com/en/help/vergleich-alternativen - https://bench.metrunio.com/en/help/warum-plattformzahlen-abweichen --- --- slug: shopify-berichte-und-metrunio title: "What does Metrunio show that the Shopify reports do not?" category: grundlagen locale: en updated: 2026-10-17 keywords: ["Shopify Analytics","Shopify reports","marketing reports","switch","difference"] questions: ["I already have the reports in Shopify. What does Metrunio add?","Do I need Metrunio if I have Shopify Analytics?","What can Metrunio do that Shopify cannot?","Are the Shopify reports not enough?","Shopify Analytics or Metrunio?","Does Metrunio replace the Shopify reports?","Why does Shopify show different numbers than Metrunio?"] url: https://bench.metrunio.com/en/help/shopify-berichte-und-metrunio --- # What does Metrunio show that the Shopify reports do not? **I already have the reports in Shopify. What does Metrunio add?** The Shopify reports know every order in your shop and remain the source for revenue, products and returns. Alongside them, Metrunio shows which measured ad contacts came before an order, across several visits too, and from the Pro plan what each campaign cost on Meta and Google and how much attributed revenue it carries. You choose the rule that distributes the revenue and see how the picture changes under another rule. Shopify already gives you a page with revenue, orders and sessions. So why another tool? Because the two answer different questions. Shopify knows what was sold. Metrunio shows which advertising came before it and what that advertising cost. | Question | Where you answer it | | --- | --- | | How much did I sell, what, and to whom? | In Shopify. Every order is there, including those without consent in the cookie banner and those at the till. | | Which ads and visits came before this order? | In Metrunio under “Journeys”: one person’s measured contacts in chronological order, across several visits. | | What did a campaign cost, and how much revenue is attributed to it? | In Metrunio from the Pro plan: ad spend comes from Meta, Google and other ad accounts, with ROAS next to each campaign. | | What would the split look like under another rule? | In Metrunio from the Pro plan: two models side by side, all seven in one table. | | Did an ad that was seen but not clicked play a part? | In Metrunio from the Pro plan, wherever your own tag runs on the ad (post-view). | ## Why the numbers are not the same Do not expect the same figures per channel and campaign. Shopify distributes sales by its own rule, Metrunio by the model you chose. And Metrunio only attributes orders before which it was allowed to measure contacts. The app still passes on an order without a decision in the banner, with order number and amount; after a refusal it does so only with the additional instruction for revenue reconciliation activated. Such an order appears as “unattributed” with the reason “No consent”. The sum across channels is therefore lower than your shop’s revenue. Metrunio is not meant to replace the Shopify reports. For accounting, stock and returns, Shopify remains the source; Metrunio is there for the question of where your ad budget should go. > **Note:** With the Shopify app you also see the last 28 days directly in your Shopify admin: attributed revenue, revenue by channel and the five strongest campaigns. From there you open the portal without a password. ## Also asked - Do I need Metrunio if I have Shopify Analytics? - What can Metrunio do that Shopify cannot? - Are the Shopify reports not enough? - Shopify Analytics or Metrunio? - Does Metrunio replace the Shopify reports? - Why does Shopify show different numbers than Metrunio? ## Related - https://bench.metrunio.com/en/help/unterschied-web-analytics - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/ab-wann-belastbar - https://bench.metrunio.com/en/help/warum-plattformzahlen-abweichen - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/tarife --- --- slug: gemessen-zugeordnet-geschaetzt title: "What do “measured” and “attributed” mean?" category: grundlagen locale: en updated: 2026-10-12 keywords: ["measured","attributed","set","estimated","acquisition value","self-reported","post-purchase question","reported","modelling","layers"] questions: ["Why does Metrunio separate measured from attributed figures?","What is the difference between measurement and attribution?","Why are there no estimated figures?","What is the “estimated” layer?","What does “set” mean?","What does “self-reported” mean?","What does “reported” mean?"] url: https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt --- # What do “measured” and “attributed” mean? **Why does Metrunio separate measured from attributed figures?** Measured means directly observed: an impression, a viewable impression, a click, a conversion. Attributed means a share distributed by a model; the product keeps both layers apart and never blends them. Alongside them are values you decide yourself (“set”), answers from your customers (“self-reported”) and figures an ad platform reports about itself (“reported”); there is no “estimated” layer. | Layer | Meaning | Example | | --- | --- | --- | | Measured | directly observed signal with timestamp and origin | 1,240 viewable impressions | | Attributed | share from a disclosed model | 18.4 conversions under “position based” | | Set | a value you decided yourself | acquisition value of €20 per sign-up | | Self-reported | what a customer said themselves | 31 answers “podcast or radio” to the post-purchase question | | Reported | what an ad platform says about its own ads | 42 conversions according to the ad account, in the platform reconciliation | | Estimated | modelled effect without evidence | does not exist here | The “estimated” layer is missing on purpose. As soon as an interface shows measured and extrapolated values in the same column, it is no longer possible to tell which part of a figure rests on a signal. That blending is exactly what makes platform reports hard to audit. One figure comes from you: the acquisition value, meaning what a reached funnel step is worth to you. Whether a customer reached the step is measured; what that is worth, you decided in the portal. That is why this figure is called “set”. It has columns of its own and never appears in revenue or ROAS. When a model distributes it across channels, the share is attributed, but it remains a share of a set value. One figure comes from your customers: the answer to the post-purchase question “How did you hear about us?”. That someone answered is measured; what they say is their own account. This figure is therefore called “self-reported”. It sits next to what is measured, never in revenue and never in an attribution, and it is not extrapolated to the customers who did not answer. One figure comes from the ad platforms: what Meta, Google and others report about their own ads, such as the conversions in the ad account. This figure is called “reported”. It follows the platform’s rules, sits next to what is measured under “Platform reconciliation” and never replaces it. > **Note:** Attributed shares are decimals. If a model finds matching touchpoints, it distributes the conversion across them in full; if it finds none, the conversion stays “unattributed”. Attributed and unattributed together add up to all conversions the model calculates. This is verified automatically. The same holds for revenue after refunds; the chat, MCP and the read API state the unattributed part as a figure of its own. ## Also asked - What is the difference between measurement and attribution? - Why are there no estimated figures? - What is the “estimated” layer? - What does “set” mean? - What does “self-reported” mean? - What does “reported” mean? ## Related - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet - https://bench.metrunio.com/en/help/messgrenzen - https://bench.metrunio.com/en/help/wert-je-schritt - https://bench.metrunio.com/en/help/nachkauf-frage --- --- slug: warum-plattformzahlen-abweichen title: "Why do my numbers differ from Meta and Google?" category: grundlagen locale: en updated: 2026-10-17 keywords: ["deviation","discrepancy","Meta","Google Ads","platform numbers"] questions: ["Metrunio shows fewer conversions than the ad account. Why is that?","Why does Meta report more conversions than Metrunio?","My numbers do not match.","Why is the gap so large?","Is an order counted twice when browser and server both report it?"] url: https://bench.metrunio.com/en/help/warum-plattformzahlen-abweichen --- # Why do my numbers differ from Meta and Google? **Metrunio shows fewer conversions than the ad account. Why is that?** Deviations are normal and usually explainable: different attribution windows, different models, the same conversion claimed by several platforms, and missing signals where consent was not given. Metrunio counts each purchase once, even when browser and server report the same order, and distributes it by a rule you can inspect. ## The four most common causes | Cause | Effect | | --- | --- | | Multiple claims | Every platform claims the same purchase; the sum exceeds reality. | | Different windows | A seven-day view window at the platform catches viewable impressions that no longer count under Metrunio’s default one-day view window. | | Different models | Platforms often use their own undisclosed models; Metrunio states its rule. | | Missing consent | Without consent no touchpoint exists that Metrunio could attribute. The gap is reported, not filled. | ## How to proceed 1. Compare the same period and the same window first. “Channels & attribution” shows the configured values. 2. Choose “Last non-direct click” in the model comparison: it distributes among clicks and visits only and comes closest to the click view of most platforms. 3. If the platform also counts viewable impressions (view-through), compare with “Click before view” and post-view. “Last non-direct click” never gives viewable impressions a share. 4. Check coverage under “Data status”: discarded events and missing consent often explain the rest. > **Note:** Full agreement is not the goal. Two systems with different rules almost never arrive at the same number. What matters is the direction of the gap and its explanation. ## What Metrunio counts once A report with the same event_id is not counted again if it arrives for the same website and environment through the same route, from the browser or from a server. A purchase counts once per website and order number: if your shop reports it from both browser and server, or later with a new event_id, it stays one order. Value and currency come from your server’s first report, or without one from the browser’s first report; further reports do not change them. “Data status” then lists the finding ORDER_ALREADY_COUNTED with the order number, or ORDER_VALUE_FROM_SERVER if the server’s value differed. Two shops of one tenant may use the same number; those are two orders. ## Also asked - Why does Meta report more conversions than Metrunio? - My numbers do not match. - Why is the gap so large? - Is an order counted twice when browser and server both report it? ## Related - https://bench.metrunio.com/en/help/attributionsfenster - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt --- --- slug: welche-events-gibt-es title: "Which events does Metrunio measure?" category: grundlagen locale: en updated: 2026-10-12 keywords: ["events","event types","purchase","page_view","ad_impression","schema"] questions: ["Which event types exist and what consent do they need?","Which events can I send?","Are custom events supported?","Which event types does the SDK support?"] url: https://bench.metrunio.com/en/help/welche-events-gibt-es --- # Which events does Metrunio measure? **Which event types exist and what consent do they need?** There are fifteen event types. The four advertising events require marketing consent, all others at least analytics consent; without matching consent an event is not stored. The only exception is purchases and refunds your server reports without consent: they count for revenue reconciliation with their order number, without browser, customer or advertising identifiers, and are not attributed; after a refusal this only applies with an activated additional instruction. | Event type | Meaning | Consent | | --- | --- | --- | | ad_impression | creative was served | marketing | | ad_viewable_impression | creative was viewable | marketing | | ad_click | click on a creative | marketing | | email_open | newsletter opened, reported by the mailing system, never a viewable impression | marketing | | session_start | start of a session | analytics | | page_view | page view | analytics | | product_view | product detail view | analytics | | add_to_cart | item added to cart | analytics | | form_submit | form submitted | analytics | | lead | lead created | analytics | | purchase | purchase completed | analytics | | refund | refund | analytics | | custom | your own event | analytics | | goal | funnel step of an application reached, counts once per customer | analytics | | survey | answer to the post-purchase question; self-reported, never revenue and never attributed | analytics | purchase and refund need an order ID; lead needs a lead or order ID; goal needs a key (goal_key) and a customer identifier; survey needs an order ID and an answer key (survey_answer). A value always requires a currency in ISO 4217, for example EUR. > **Note:** The schema version travels with every event (schema_version, currently 1.1). Version 1.1 introduced goal. Older versions stay readable; a change gets a new version rather than a silent adjustment. ## Also asked - Which events can I send? - Are custom events supported? - Which event types does the SDK support? ## Related - https://bench.metrunio.com/en/help/sdk-api - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/funnel-schritte-messen - https://bench.metrunio.com/en/help/nachkauf-frage --- --- slug: glossar title: "Glossary: the key terms" category: grundlagen locale: en updated: 2026-10-17 keywords: ["glossary","terms","definition","touchpoint","journey","credit","ROAS","impression","viewability"] questions: ["What do the terms Metrunio uses mean?","What is a touchpoint?","What is a credit?","Terms explained","What is a write key?","What is ROAS?","What is the difference between an impression and viewability?","What is a contribution margin?","What is CPA?","What does “Direct” mean?","What is a cohort?","What is a DPA?","What is a session?"] url: https://bench.metrunio.com/en/help/glossar --- # Glossary: the key terms **What do the terms Metrunio uses mean?** The terms are deliberately narrow: a touchpoint is a measured contact, a journey a chain of such contacts, a credit an attributed share. This list explains the terms used in the portal and in reports. | Term | Meaning | | --- | --- | | Site | A website or app with its own site ID and keys. | | Site ID | Public identifier of a site; appears in the tracking code. | | Write key | Key that lets the browser send events. Publicly visible, bound to domains. | | Server key | Key for server-side events. Secret, never in the browser. | | Event | A stored occurrence with timestamp and event type. For billing, the counting rule on the pricing page applies: four served impressions are one event. | | Touchpoint | An advertising or website contact inside a journey. A visit is one touchpoint, not every page view in it. | | Journey | The measured contacts and visits of one identity on the way to an order or lead, in chronological order. | | Visit (session) | A connected sequence of page views. A new visit starts after a 30-minute pause or with a new campaign signal. Measured only with consent to analytics, which is one reason the number differs from the sessions in other tools. | | Identity | Pseudonymous grouping of related identifiers within one tenant. | | Conversion | The goal you defined: an order, a lead, a completed step. What is measured is that it was reached. | | Attribution | A rule, the model, distributes a conversion’s revenue across the measured touchpoints before it. It describes an assignment, not an effect. | | Credit | The share of a conversion a model assigns to a touchpoint. | | ROAS | How much attributed revenue comes per euro of ad spend. It is not profit. | | Contribution margin | Net revenue minus cost of goods, both after refunds. Only across orders that carry both figures. | | Margin ROAS | Attributed contribution margin divided by ad spend. Based on what is left, not on revenue. Below 1, the contribution margin does not cover the ad spend. | | CPA | Ad spend divided by attributed conversions, meaning what one conversion cost on average. A conversion can also come from a returning customer. | | New-customer cost (CAC) | Ad spend divided by attributed orders from new customers. What a new customer cost, not what an order cost. | | Cohort | All customers whose first purchase fell in the same month. “Commerce & products” shows what they are worth in the months after. | | Acquisition value | What a conversion without an amount of its own is worth to you, set in the portal. Not revenue. | | Impression | An ad was served. It says nothing about whether anyone saw it. | | Viewability | The ad was in view for as long and as large as the threshold requires (50 per cent of its area, one second). It says nothing about whether anyone looked. | | Post-view | A viewable ad that was not clicked is linked to a later conversion and taken into account by the model. That only works where your own tag runs and the browser returns the view identifier. | | Click window | Period in which a click before the conversion still counts. | | View window | Period in which a viewable impression still counts. | | Direct | Channel for visits without a recognisable origin: no click ID, no UTM details, no referrer. It can be large because clicks from apps, PDF documents, bookmarks and pages with a strict referrer policy end up here. “Direct” means “we do not know where from”, not “someone typed the address”. | | Referral | Channel for visits through a link on another website that matches no other channel. The report shows the website by its host name. | | Programmatic | Ads bought automatically through a demand-side platform (DSP) on other websites. They are measured like display, with your own tracking elements. | | Tenant | A separate customer account; for an agency, the account of a client company. Data ends at that boundary. | | DPA | The data processing agreement under Art. 28 GDPR between your company and Metrunio. Without it, Metrunio accepts nothing. | | Consent tool (CMP) | The tool behind your cookie banner that asks for consent and stores it, such as Usercentrics or Cookiebot. Metrunio reads the decision from it. | | Tracking element | Generated pixel, viewability tag or click URL for a creative. | | Impression ID | Identifier of a single delivery; links pixel, viewability and click. | | Test data | Events with environment test; excluded from standard reports. | | Measured | Metrunio recorded it itself. | | Attributed | A model distributed it. | | Set | You decided the value yourself, such as the acquisition value. It is not revenue. | | Self-reported | A customer said it themselves, for example in the post-purchase question. Only the fact that they answered is measured. | | Reported | The ad platform says it about itself. | ## Also asked - What is a touchpoint? - What is a credit? - Terms explained - What is a write key? - What is ROAS? - What is the difference between an impression and viewability? - What is a contribution margin? - What is CPA? - What does “Direct” mean? - What is a cohort? - What is a DPA? - What is a session? ## Related - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt - https://bench.metrunio.com/en/help/was-ist-ein-kontakt - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/post-view-verstehen --- --- slug: konto-anlegen title: "How do I create an account?" category: einstieg locale: en updated: 2026-10-17 keywords: ["registration","account","sign up","invitation","terms","business"] questions: ["How do I get access to Metrunio?","How do I sign up?","Can I try Metrunio myself?","How do I get access?","Which box do I have to tick when signing up?","Do I have to confirm the privacy notice?","Can I sign up as a private individual?","What happens after signing up?","I chose Pro on the pricing page. Is Pro booked now?","I do not have an invitation code","Request access or arrange a call?","Confirmation email did not arrive","I did not receive a confirmation email","The confirmation link has expired"] url: https://bench.metrunio.com/en/help/konto-anlegen --- # How do I create an account? **How do I get access to Metrunio?** You sign up in the portal and create your company along the way, get invited by someone who already has access, or let the Shopify app create the account. Metrunio is offered only to businesses, not to consumers. Measurement starts only once the data processing agreement is concluded, which comes right at the start of setup. ## Route 1: register yourself 1. Go to “Register” in the portal. 2. Enter your name, business email address, company and a password. The time zone is prefilled with your browser’s; your days in the reports start in it. You can change it later under “Settings”. 3. Tick the box: “I am acting for the company named above, am authorised to conclude contracts and accept the terms and conditions.” 4. Open the confirmation email and follow the link. 5. Sign in. The setup assistant starts by itself. After “Confirm your company” you conclude the data processing agreement; nothing is measured before that. The remaining phases follow, up to the first verified journey. The privacy notice is linked below the tick box. It informs you what happens to your details. You do not have to confirm it, and there is no separate tick box for it. > **Note:** Confirmation email did not arrive? Check your spam folder first. The link is valid for 7 days. If it has expired or never arrived, request a link on the sign-in page through “Forgot your password?”: as soon as you set a password with it, your address is confirmed. Do not register again; the address is already taken. > **Note:** Metrunio is offered exclusively to businesses within the meaning of § 14 BGB (German Civil Code), not to consumers. Signing up therefore means declaring that you act for a business. Registering creates a new tenant and gives you the Admin role for it. Everyone else joins afterwards by invitation and lands in the same tenant. > **Note:** Every new account starts with the trial: 30 days of Growth, no credit card. If you arrive through a plan button on the pricing page, the sign-up shows your plan as noted, and if you had switched the page to yearly, yearly billing too. That books nothing; the billing page preselects both. Booking happens after signing in, under “Plan & usage”; if you book nothing, your account continues on the free Start plan after the trial. ## If sign-up asks for an invitation code In some environments, accounts are available by invitation only. Sign-up then shows a field for the code and, next to it, “Request access”. The link leads to the form on the website; there you choose whether you would like access or would rather go through the setup together first, and briefly describe your shop and the channels you want to check. We get back to you by email. We do not name a deadline, and nothing is unlocked automatically. ## Route 2: be invited 1. An admin at your company invites you under “Team & roles”. 2. You receive an email with an invitation link. 3. Set a password. Access is then active with the assigned role. ## Route 3: from the Shopify app If you run a Shopify store, the Metrunio app creates your account without a sign-up in the portal. There you tick two boxes in the same step: one for the terms and your authority to act, one for the data processing agreement. Details are in “How do I set up Metrunio in Shopify?”. > **Note:** Open registration can be switched off by the platform administration. When it is, the website shows no button for an account of your own, and you get into the portal by invitation (route 2). ## Also asked - How do I sign up? - Can I try Metrunio myself? - How do I get access? - Which box do I have to tick when signing up? - Do I have to confirm the privacy notice? - Can I sign up as a private individual? - What happens after signing up? - I chose Pro on the pricing page. Is Pro booked now? - I do not have an invitation code - Request access or arrange a call? - Confirmation email did not arrive - I did not receive a confirmation email - The confirmation link has expired ## Related - https://bench.metrunio.com/en/help/einrichtung-ueberblick - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/nutzer-einladen - https://bench.metrunio.com/en/help/passwort-und-anmeldung --- --- slug: einrichtung-ueberblick title: "Setup: six phases, eleven steps" category: einstieg locale: en updated: 2026-10-16 keywords: ["setup","onboarding","assistant","wizard","steps","phases","integration method"] questions: ["What do I have to do before the first data arrives?","How long does setup take?","What is the onboarding wizard?","Which steps do I need to complete?","How do I change the integration method?","I chose the wrong integration method","How do I set up another website?","The continue button during installation is disabled","How do I test the installation before the website is live?"] url: https://bench.metrunio.com/en/help/einrichtung-ueberblick --- # Setup: six phases, eleven steps **What do I have to do before the first data arrives?** The setup assistant takes you through six phases, from “Company & DPA” to “Check the first journey”; behind them are eleven steps, the same for every integration route. The second step is concluding the data processing agreement, without which nothing is measured. The assistant saves progress automatically and can be interrupted at any time; going live also needs access to the ad accounts, the connection to your consent tool and, depending on your company, internal approvals. | Phase | Steps | | --- | --- | | 1 · Company & DPA | Confirm your company. Conclude the DPA: without a data processing agreement Metrunio accepts nothing; the step cannot be ticked off, only completed. | | 2 · Website & integration | Add a website: site ID and write key are created automatically. Choose how to integrate: Shopify app, plugin for Shopware 6 or WordPress, Google Tag Manager, snippet or server API; the app, the plugins and the tag manager need no developer, the server API and funnel steps need code. | | 3 · Consent | Connect consent: select your consent tool and map the categories. | | 4 · Install & check | Install the tracking: the finished code is ready to copy. Test the connection: the live test below checks by itself whether data arrives and shows each check individually. If nothing is installed yet, “Open the demo shop” or “Send a test event” creates the first signal. The first signal completes both steps. A test event shows up as “Test event received”, not as a detected script, and the button then reads “Continue with test data”. | | 5 · Goal & test conversion | Define a conversion: what counts as a completion? For an application without a purchase, choose “Steps in an application (SaaS)”; that creates three funnel steps you can adapt. Run a test conversion. | | 6 · Check the first journey | Check the first data. Finish the setup; you can reset the test data afterwards. | The list next to the assistant shows these six phases; the card next to it names the phase above every step. Above the list you see roughly how long the rest takes. If you leave the assistant, you return to the same place at your next sign-in. You change the integration method in the setup assistant: in the installation instructions, or after setup is complete via “Change integration method”. Another website starts in the assistant with the choice of integration method. How long it takes up to the first verified test journey is shown on the website’s “Installation” page only once it has been measured on completed setups. Until then it lists the steps and requirements for each integration route instead of a figure. The last step completes itself: as soon as the ten steps before it are done, progress stands at 100 per cent and setup counts as finished, not before. Some steps are ticked off without a click because their result is there, such as the installation once the first event has arrived. You can prepare the installation before the DPA. Nothing will arrive, though, until it is concluded; until then the live test names exactly that reason, and anything sent before is lost for good. How to conclude it is described in “How do I conclude the data processing agreement?”. > **Note:** If a step stalls, the setup health centre helps: it checks the connection on its own and names the cause and next step for every finding. ## Also asked - How long does setup take? - What is the onboarding wizard? - Which steps do I need to complete? - How do I change the integration method? - I chose the wrong integration method - How do I set up another website? - The continue button during installation is disabled - How do I test the installation before the website is live? ## Related - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/website-hinzufuegen - https://bench.metrunio.com/en/help/gtm-verbinden - https://bench.metrunio.com/en/help/erste-conversion-testen - https://bench.metrunio.com/en/help/funnel-schritte-messen --- --- slug: website-hinzufuegen title: "How do I add a website?" category: einstieg locale: en updated: 2026-10-12 keywords: ["website","site","domain","add","create"] questions: ["How do I add another website or domain?","How do I add a second website?","Can I measure several domains?","How many websites does my plan allow?","Where do I create a site?"] url: https://bench.metrunio.com/en/help/website-hinzufuegen --- # How do I add a website? **How do I add another website or domain?** Under “Setup → Websites and allowed domains”, “Add a website” opens the form, also for a second website; during the first run of the setup it is a step of its own. A name and the full address are enough; the site ID and write key are created automatically. Adding it needs no DPA, measuring does. 1. Open “Setup” and choose “Add a website” under “Websites and allowed domains”. 2. Enter a name and the complete address. 3. The assistant puts the write key into the tracking code itself. You only need to show it if someone else does the installation; it is shown in full only this once. 4. Add further allowed domains below, under “Change allowed domains”, with “Add domain”. Every site has its own keys, its own allowed domains and its own consent configuration. The overview, journeys, attribution, budget and commerce can be narrowed down to one website; costs count there through the campaigns you assign to it. > **Note:** A separate site is worth it when domains should be evaluated separately. For subdomains of the same brand one site is enough: subdomains of an allowed domain are included. > **Note:** How many websites you can add depends on your plan: Start and Pro allow one, Growth three, Scale and Agency any number. Once the limit is reached, the form says so; a larger plan allows more websites. ## Also asked - How do I add a second website? - Can I measure several domains? - How many websites does my plan allow? - Where do I create a site? ## Related - https://bench.metrunio.com/en/help/site-id-und-write-key - https://bench.metrunio.com/en/help/erlaubte-domains - https://bench.metrunio.com/en/help/gtm-verbinden - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/berichte-je-website --- --- slug: site-id-und-write-key title: "Where do I find the site ID, write key and server key?" category: einstieg locale: en updated: 2026-10-17 keywords: ["write key","server key","site ID","key","API key"] questions: ["Which key goes where, and which one may be public?","Is the write key secret?","Where do I find my key?","What is the difference between write key and server key?","Where do I create a server key?","Where do I find the read key for Claude?"] url: https://bench.metrunio.com/en/help/site-id-und-write-key --- # Where do I find the site ID, write key and server key? **Which key goes where, and which one may be public?** Site ID and write key are in the portal under “Setup” and belong in the browser tracking code. You create the server key in “Setup” on the “Server Events API” tab with “Create server key”; it is secret, belongs only in your backend and is shown in full only when it is created. Read keys for Claude and your own analyses are under “Exports & AI connections”, in the “API access” section. | Value | Visibility | Used for | | --- | --- | --- | | Site ID | public | tracking code, Server Events API | | Write key | publicly visible, bound to domains | browser: GTM tag or snippet | | Server key | secret | Server Events API, webhooks, HMAC signature | | Read key | secret, read-only | read API and MCP, created under “Exports & AI connections” | The write key appearing in your page source is not a mistake: it is bound to the allowed domains. A foreign website cannot use it in its visitors’ browsers, because the collector checks the origin and answers with DOMAIN_NOT_ALLOWED. A request from outside a browser is not stopped by this check: anyone who copies the key can report events with it, purchases included. So report purchases from your server as well, with the Server Events API or a plugin. Then value and currency come from the server, even if someone reported the same order number through the browser before. > **Caution:** The server key must never appear in browser code, a Git repository or a tag manager. If it has become visible, generate a new one in “Setup” on the “Server Events API” tab. The old key is revoked immediately; a revoked key receives the answer SERVER_KEY_INVALID. ## Also asked - Is the write key secret? - Where do I find my key? - What is the difference between write key and server key? - Where do I create a server key? - Where do I find the read key for Claude? ## Related - https://bench.metrunio.com/en/help/api-keys-rotieren - https://bench.metrunio.com/en/help/erlaubte-domains - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/mcp-anbinden --- --- slug: erste-conversion-testen title: "How do I test my first conversion?" category: einstieg locale: en updated: 2026-10-15 keywords: ["test","conversion","live test","verify","test data","metrunio-test"] questions: ["How do I check that a conversion arrives correctly?","How do I test tracking?","How do I trigger a test conversion?","Is my conversion tracking working?","What is the metrunio-test campaign?"] url: https://bench.metrunio.com/en/help/erste-conversion-testen --- # How do I test my first conversion? **How do I check that a conversion arrives correctly?** The setup assistant has a step called “Run a test conversion”. It creates a test purchase with a test visit before it, both stored as test data: they appear immediately in the live checklist, the journey shows an attributed touchpoint, and they stay excluded from standard reports. 1. Open “Setup” and go to the step “Run a test conversion”. 2. Click “Trigger test conversion”. Metrunio sends a test visit with the campaign “metrunio-test” and, one minute later, a test purchase of €99, both as test data. 3. Watch the live checklist: “Conversion received” and “Journey created” must appear. 4. Check the journey under “Customer journeys”; “Show test data” switches the list to test data. 5. Reset the test data before you go live. To verify your own shop end to end, place an order in test mode as well: set testMode: true in the SDK, or send the server event with environment: "test". Funnel steps of an application are checked under “Orders & goals”: “Send test step” on a step creates a test event that counts immediately as a conversion of that step, in the test data and not in the reports. > **Note:** The test visit is only an example so you can see what an attribution looks like; it never appears in production data. If a real order shows the conversion but without a measured touchpoint before it, and therefore unattributed, a shared identifier between website and shop is usually missing. The article “Why is a conversion not attributed?” lists the possible causes. ## Also asked - How do I test tracking? - How do I trigger a test conversion? - Is my conversion tracking working? - What is the metrunio-test campaign? ## Related - https://bench.metrunio.com/en/help/testdaten-zuruecksetzen - https://bench.metrunio.com/en/help/warum-keine-pageviews - https://bench.metrunio.com/en/help/health-center - https://bench.metrunio.com/en/help/funnel-schritte-einbauen --- --- slug: testdaten-zuruecksetzen title: "How do I keep test and production data apart?" category: einstieg locale: en updated: 2026-10-15 keywords: ["test data","test mode","environment","reset","delete"] questions: ["Do my tests distort the reports?","How do I delete test data?","Are test events in the reports?","What is test mode?"] url: https://bench.metrunio.com/en/help/testdaten-zuruecksetzen --- # How do I keep test and production data apart? **Do my tests distort the reports?** Metrunio keeps them apart itself, so your tests do not distort the reports: every event from the assistant and the live test carries the environment “test” and is excluded from standard reports. In “Setup” you delete all test data with “Reset test data”; first it shows you what will disappear. 1. Every event from the assistant and the live test gets the environment “test”. 2. Standard reports show production data only. 3. You can look at test data deliberately under “Customer journeys”, “Orders & goals”, “Channels & attribution” and “Events”, each with the “Show test data” switch (under “Orders & goals”: “Test data”). 4. In “Setup”, choose “Reset test data”. You first see how many test events, test journeys and test identities will disappear, then confirm with “Delete permanently”. Production data stays untouched. Test events do not count towards your plan’s event quota. You can test as often as you need to. ## Also asked - How do I delete test data? - Are test events in the reports? - What is test mode? ## Related - https://bench.metrunio.com/en/help/erste-conversion-testen - https://bench.metrunio.com/en/help/berichte-ueberblick - https://bench.metrunio.com/en/help/nur-testdaten-empfangen --- --- slug: nur-testdaten-empfangen title: "Only test data is arriving. What is missing?" category: einstieg locale: en updated: 2026-10-12 keywords: ["test data","production data","ONLY_TEST_EVENTS","empty reports","production environment"] questions: ["Setup is complete but the reports stay empty. Why?","Why are my reports empty although setup is finished?","What does ONLY_TEST_EVENTS mean?","Why does my test event not count as production data?","When does tracking count as live?"] url: https://bench.metrunio.com/en/help/nur-testdaten-empfangen --- # Only test data is arriving. What is missing? **Setup is complete but the reports stay empty. Why?** The test events from the setup assistant prove that your account, the processing and the reports work, but not that your website is measuring. Until an event from the “production” environment arrives, every standard report stays empty and “Setup” reports the finding ONLY_TEST_EVENTS. Every event carries an environment. Whatever the assistant triggers itself carries “test”; whatever your installed website sends carries “production”. Standard reports show production data only. That is why setup can be complete and the overview still empty. 1. Check that the snippet is on the published page, not only in a preview or on a staging instance. 2. Compare the site ID in the installed code with the one shown in “Setup”. 3. Check that the write key is filled in completely. A placeholder sends nothing. 4. Open your website in a new tab; a single page view is enough. 5. Then check “Setup” for when the last production signal arrived. If still nothing arrives, the consent tool is a frequent cause: depending on the setting, nothing is sent before consent is given. The live test shows whether a consent status is being transmitted. > **Note:** Test events do not count towards your plan’s event quota. You can delete them in “Setup” with “Reset test data”. ## Also asked - Why are my reports empty although setup is finished? - What does ONLY_TEST_EVENTS mean? - Why does my test event not count as production data? - When does tracking count as live? ## Related - https://bench.metrunio.com/en/help/testdaten-zuruecksetzen - https://bench.metrunio.com/en/help/warum-keine-pageviews - https://bench.metrunio.com/en/help/snippet-einbauen --- --- slug: wie-lange-bis-daten title: "How long until data appears?" category: einstieg locale: en updated: 2026-10-05 keywords: ["delay","latency","real time","processing","waiting"] questions: ["When do I see the first numbers after installing?","Why do I not see numbers yet?","How fast is the data?","Is there a delay?"] url: https://bench.metrunio.com/en/help/wie-lange-bis-daten --- # How long until data appears? **When do I see the first numbers after installing?** Individual events appear in the live test within seconds. Journeys and conversions are created during processing and usually appear within minutes; attribution shares are calculated afterwards. | View | Typical delay | | --- | --- | | Live test in “Setup” | seconds | | Raw events and event list | seconds | | Journeys and touchpoints | minutes, depending on the queue | | Conversions | minutes | | Attribution shares and model comparison | after the next attribution run | | Ad spend from the platform sync | every six hours, retroactively; the first fetch minutes after connecting | > **Note:** If a view stays empty permanently, delay is almost never the cause. If the portal shows “Measurement paused: DPA missing.”, the data processing agreement is missing: until it is concluded, Metrunio accepts nothing. Otherwise check “No data after setup? Check these six points” and the processing backlog under “Data status”. ## Also asked - Why do I not see numbers yet? - How fast is the data? - Is there a delay? ## Related - https://bench.metrunio.com/en/help/warum-keine-pageviews - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/verarbeitungsrueckstand - https://bench.metrunio.com/en/help/attribution-neu-berechnen --- --- slug: ab-wann-belastbar title: "When are my numbers reliable, and what about my existing data?" category: einstieg locale: en updated: 2026-10-17 keywords: ["reliable","meaningful","ramp-up","measurement start","historical data","import"] questions: ["When can I rely on the numbers, and what happens to the time before installation?","When are the numbers meaningful?","How long should I measure before I decide?","What happens to my existing data?","Can I import old data?","Does Metrunio start from zero?","Why does “Direct” get so much revenue in the first weeks?"] url: https://bench.metrunio.com/en/help/ab-wann-belastbar --- # When are my numbers reliable, and what about my existing data? **When can I rely on the numbers, and what happens to the time before installation?** Metrunio measures ad contacts and journeys from installation onwards; it does not know what came before and adds nothing for it. The split across channels becomes reliable once the click window after installation has been measured in full, 30 days with the default setting, and once a single order or lead no longer upsets the ranking of your channels. Orders from before can be imported with the Shopify app; they then appear as “unattributed”. The day after installation, orders already appear in the portal. You should not decide anything by them yet. That is down to the calendar: someone who came through an ad two weeks ago and buys today appears in the journey with today’s visit only. Nobody measured the click before it. In the first weeks the last contacts and “Direct” therefore get a larger share than they would over a full month. | What | From when | | --- | --- | | Individual events and orders | seconds to minutes after installation (see “How long until data appears?”) | | Split across channels and campaigns | once the click window after installation has been measured in full; the default is 30 days, adjustable from 1 to 90 | | Comparison with the previous period | for 7 days after two weeks, for 30 days after two months, for 90 days after half a year; until then it says “previous period incomplete” | | Data-driven model | from 100 paths, 20 conversions and two channels within 90 days. That is an unlock threshold, not proof that the figure already holds | ## A check on your own numbers There is no fixed number of orders from which everything is right; it would depend on your channels and your budget. The check works like this: mentally remove the largest single order or lead of a channel. If the ranking of your channels then changes, the period is too short or too thin for a budget decision. Take a longer period or wait a week. ## Your existing data - Contacts and journeys from before installation do not exist. Metrunio measures from the first event and fills in nothing afterwards. - You import Shopify orders in the app up to two years back. They appear as “unattributed” because before installation there is no measured contact their revenue could go to. They give you a revenue baseline, for cohorts for example, not an attribution. - The platform sync fetches ad spend from the moment you connect the ad account. Older days go in as a CSV file (see “How do I import ad spend from a CSV?”); they count towards the costs and ROAS of those days. > **Note:** The measurement start is the first contact Metrunio measured as it happened. Imported orders and ad spend loaded later do not move it earlier. ## Also asked - When are the numbers meaningful? - How long should I measure before I decide? - What happens to my existing data? - Can I import old data? - Does Metrunio start from zero? - Why does “Direct” get so much revenue in the first weeks? ## Related - https://bench.metrunio.com/en/help/wie-lange-bis-daten - https://bench.metrunio.com/en/help/attributionsfenster - https://bench.metrunio.com/en/help/vergleich-vorperiode - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/werbekosten-importieren - https://bench.metrunio.com/en/help/shopify-berichte-und-metrunio --- --- slug: passwort-und-anmeldung title: "Sign-in, password and Google access" category: einstieg locale: en updated: 2026-10-16 keywords: ["sign in","login","password","passkey","SSO","Google","session"] questions: ["I cannot get into my account. What now?","Forgot password","How do I sign in?","Is there single sign-on?","Can I sign in with Google?","What is “Sign in with a company account”?","Why does signing in with my Google account not work?","Can I sign in with a passkey?","The reset link stops working after a reload"] url: https://bench.metrunio.com/en/help/passwort-und-anmeldung --- # Sign-in, password and Google access **I cannot get into my account. What now?** Use “Forgot your password?” to reset it yourself; the link arrives by email. Signing in with Google Workspace is also possible, provided it is enabled for your tenant. It comes with Scale and the agency plan. 1. Choose “Forgot your password?” on the sign-in page. 2. Enter your business email address. 3. Open the link from the email and set a new password. Once opened, the link no longer appears in the address bar, so it does not end up in your browser history. If you reload the page before saving, simply open the link from the email again. It is valid for one hour. For security reasons the page shows the same message whether or not the address exists. If no email arrives, check the spam folder and whether you used a different address. A sign-in applies to one browser on one device. Under “Settings” → “Signed-in devices”, “Sign out everywhere” ends all of them at once, including your own. That is useful when a device has been lost. A new password set through “Forgot your password?” ends them too. If two-step verification is switched on, sign-in asks after the password for a passkey, a code from the app or a recovery code. A new password does not switch it off. With a passkey you can sign in without any password: “Sign in with a passkey” below the form. How to add one is explained in “Sign in with a passkey” in this help center. The button for it sits below the form and reads “Sign in with a company account (Google Workspace)”. It only works for addresses on a domain for which your tenant has set up the sign-in. A private Google account opens nothing through it. If nothing is set up for your address or your plan does not include the sign-in, the sign-in page says so after the click, and you sign in with email and password. > **Note:** Signing in with Google Workspace is optional, comes with Scale and the agency plan, and is enabled per tenant. There is no sign-in through any other company-account provider. It does not replace the role model: permissions still come from your role in the tenant. ## Also asked - Forgot password - How do I sign in? - Is there single sign-on? - Can I sign in with Google? - What is “Sign in with a company account”? - Why does signing in with my Google account not work? - Can I sign in with a passkey? - The reset link stops working after a reload ## Related - https://bench.metrunio.com/en/help/konto-anlegen - https://bench.metrunio.com/en/help/nutzer-einladen - https://bench.metrunio.com/en/help/passkeys - https://bench.metrunio.com/en/help/zwei-faktor - https://bench.metrunio.com/en/help/wiederherstellungscodes --- --- slug: fortschritt-und-meilensteine title: "What do the milestones under “Data status” show?" category: einstieg locale: en updated: 2026-10-12 keywords: ["progress","milestones","data status","getting started","first steps","status"] questions: ["How can I tell the measurement is really working?","Where do I see how far along I am?","What are milestones?","Is there a progress bar?","Why is nothing under Reached yet?","Do I have to work through the milestones?","Where did the “Progress” page go?"] url: https://bench.metrunio.com/en/help/fortschritt-und-meilensteine --- # What do the milestones under “Data status” show? **How can I tell the measurement is really working?** The “Milestones” section under “Data status” in the portal lists what has already happened in your data (such as the first signal from your website, the first conversion, the first journey across several touchpoints, the first week without gaps) and what is still outstanding. There are no points, no rank and no comparison with other customers; every line is a state of your own data. The milestones are in the portal under “Data status”, in the “Milestones” section. Until 5 October 2026 they were a page of their own called “Progress”; the old address still leads there. The section answers a question the reports themselves do not: is what I am seeing already the right picture, or is something still missing? ## What it lists - Reached: what has happened, with the time it happened. - Open: what happens by itself as soon as the matching signals arrive. None of it needs to be triggered by hand. A milestone such as “journey across several touchpoints” appears when a conversion first has more than one preceding touchpoint. Until then every attribution model shows the same thing, and that is exactly what the open entry explains. The check runs every quarter of an hour. A milestone therefore does not appear in the same second but at most fifteen minutes after the event. Measurement takes precedence: your events should not wait because progress is being calculated in the background. ## Why it is not a game Points, ranks and streaks would reward a behaviour we do not recommend: looking in every day. Measurement does not improve by being watched more often. What the section is meant to give you is orientation, not attachment. > **Note:** For some milestones we send a short email to the account’s admins. It can be switched off under “Settings → Notifications” without the milestones themselves disappearing. ## Also asked - Where do I see how far along I am? - What are milestones? - Is there a progress bar? - Why is nothing under Reached yet? - Do I have to work through the milestones? - Where did the “Progress” page go? ## Related - https://bench.metrunio.com/en/help/einrichtung-ueberblick - https://bench.metrunio.com/en/help/wie-lange-bis-daten - https://bench.metrunio.com/en/help/kennzahlen-in-worten --- --- slug: demo-ansehen title: "How does the demo work?" category: einstieg locale: en updated: 2026-10-15 keywords: ["demo","guest access","example shop","read-only","look around"] questions: ["Can I look at Metrunio without creating an account?","Demo without signing in","Guest access","Trial access without an account","Look at the example shop","My demo has expired","Why can I not change anything in the demo?","Which plan does the demo show?","Why are so many events late in the demo?"] url: https://bench.metrunio.com/en/help/demo-ansehen --- # How does the demo work? **Can I look at Metrunio without creating an account?** Without an account and without a form: “Open the demo” on the website or below the sign-in opens read-only access to a fictional example shop. The session ends after 30 minutes without activity and opens again with one click. ## What you see in the demo - The data of a fictional flour mill: generated visits, touchpoints and orders with multi-step journeys, no real customer’s data. - At the top of the overview, three questions as a way in: trace an order, compare models, understand data gaps. Each leads to the view that answers it. Where one exists, the example order has a viewable impression, preferably one whose impression carries a share under the demo’s default model. - Every report to read: customer journeys, channels & attribution, orders & goals, data status and the other analyses. The group “More analyses” with “Check budget”, “Platform reconciliation” and “Experiments” is open in the demo. - Under “Ask your data”, three prepared example answers, marked “Sample answer from demo data: prepared, not from the language model”. What is prepared is the wording; the figures in it are calculated from the example data, with the period, the demo’s default model and the report that shows the same figures. The demo access does not ask the language model. - In the banner at the top, the plan the demo shows and how many days of it an account of your own gets to start with. ## What is different about the example data The data is generated retrospectively. Under “Data status” almost every event therefore counts as late, and the tile says so; with live measurement the number there is small. Regular customers and ad spend reach back long before the first contact. So for 30 days the overview shows no comparison with the previous period, for 7 days it does. ## What the demo cannot do The access only reads. Actions that change something (saving, inviting, exporting, creating keys, importing costs, switching on the second factor) are visible but locked and say “Not available in the demo”. You see what exists without any button leading nowhere. ## How long the session lasts The header shows how many minutes the session has left. Every click extends it; after 30 minutes without activity it ends. The portal then shows a page with “Open the demo again” instead of the sign-in. The same applies when you sign out. ## Continuing with your own data In the demo header, “Start measuring your own site” leads to registration and “Pricing” to the plans; the same button sits below the example answers. An account of your own measures your website and answers questions about your own data. ## Also asked - Demo without signing in - Guest access - Trial access without an account - Look at the example shop - My demo has expired - Why can I not change anything in the demo? - Which plan does the demo show? - Why are so many events late in the demo? ## Related - https://bench.metrunio.com/en/help/konto-anlegen - https://bench.metrunio.com/en/help/chat-fragen - https://bench.metrunio.com/en/help/einrichtung-ueberblick - https://bench.metrunio.com/en/help/berichte-ueberblick - https://bench.metrunio.com/en/help/vergleich-vorperiode --- --- slug: suche-im-portal title: "How do I find an order, a journey or an area quickly?" category: einstieg locale: en updated: 2026-10-15 keywords: ["search","order number","ID","campaign","keyboard","Ctrl+K","Cmd+K"] questions: ["Is there a search across everything in the portal, and what does it find?","Search for an order number","Find a journey by its ID","Search for a campaign","Keyboard shortcuts in the portal","Ctrl K","Cmd K","Where is the search?","Why does the search find nothing?"] url: https://bench.metrunio.com/en/help/suche-im-portal --- # How do I find an order, a journey or an area quickly? **Is there a search across everything in the portal, and what does it find?** With the search in the portal header: the “Search or open an area” field (or Ctrl+K, Cmd+K on a Mac) searches areas, help articles and your data: order number, lead ID, journey ID and campaign. Every result takes you straight there with Enter or a click; the list shows no figures, those belong in the report with its period and model. 1. Open the search with the “Search or open an area” field in the header or with Ctrl+K (Mac: Cmd+K). 2. Type what you are looking for: the name of an area (“Data connections”), a question for the help (“post-view”) or, from three characters on, an order number, lead ID, journey ID or campaign name. 3. Select with the arrow keys and open with Enter, or click the result. Esc closes the search. - Areas are the entries of your menu. An area your plan does not include is still listed and leads to the page that says from which plan it is available. - Help articles are searched in the browser, with the same rule as the help page. What you type does not leave your browser for that. - Orders, journeys and campaigns are requested from the API from three characters on, with your permissions and for the tenant you are working in. Journeys of the last two years, by order number, lead ID or journey ID. - The result list shows no amounts and no counts. Revenue only applies to a period and a model, and both belong in the report, not in a search list. If the search does not find an order, it is either older than two years, in another environment (test data) or not yet processed. The journey list with “Custom” in the period and its search field also find older orders. ## Also asked - Search for an order number - Find a journey by its ID - Search for a campaign - Keyboard shortcuts in the portal - Ctrl K - Cmd K - Where is the search? - Why does the search find nothing? ## Related - https://bench.metrunio.com/en/help/journey-explorer - https://bench.metrunio.com/en/help/berichte-ueberblick - https://bench.metrunio.com/en/help/gespeicherte-ansichten --- --- slug: gtm-verbinden title: "How do I connect Google Tag Manager?" category: installation locale: en updated: 2026-10-16 keywords: ["Google Tag Manager","GTM","template","container","trigger"] questions: ["How do I install Metrunio through Google Tag Manager?","Set up GTM","Import tag manager template","Is Metrunio in the GTM template gallery?","How do I add the tag?"] url: https://bench.metrunio.com/en/help/gtm-verbinden --- # How do I connect Google Tag Manager? **How do I install Metrunio through Google Tag Manager?** You add the “Metrunio Tracking” template from the Tag Manager template gallery or download it as a file in “Setup”. You create a tag from it, enter site ID and write key, choose the trigger “Initialization - All Pages” and publish. This route needs no change to your website’s source code. 1. In your container under “Templates”, add the “Metrunio Tracking” template from the gallery, or download it in “Setup” and import it there. 2. Create a tag based on the template and enter the write key. The file from “Setup” already contains the site ID and the collector address; with the template from the gallery you enter the site ID as well. 3. Choose the trigger “Initialization - All Pages”. 4. Save, check in preview, then publish. > **Caution:** Without publishing, the tag is only active in preview. That is by far the most common reason for no data arriving. ## Gallery or file Both templates measure the same way. The gallery one always loads the script from collect.metrunio.com; Google reviews every version, and a customer address cannot be in it. The file from setup loads it from your website’s address, including your own measurement domain. If you use one, take the file. ## Consent in the tag manager The tag has two checkboxes: analytics and marketing consent. Only tick them if the tag’s trigger fires after consent, for example on your consent tool’s consent event. If both stay empty, the tag reports no decision: Metrunio waits until your consent tool reports one through metrunio.setConsent and sends nothing until then. Until 24 September 2026 two empty boxes counted as a refusal; now they count as no decision, because nobody made one. ## Verification Start the live test in the portal and open your website in a new tab. The checklist shows, one after another: “Tracking script detected”, “Consent status detected”, “Session started”, “Page view received”. These checks only turn green when your website itself sends. A click on “Send a test event” shows up as “Test event received”; it proves that processing works, not that the tag measures. ## Also asked - Set up GTM - Import tag manager template - Is Metrunio in the GTM template gallery? - How do I add the tag? ## Related - https://bench.metrunio.com/en/help/warum-keine-pageviews - https://bench.metrunio.com/en/help/consent-tool-verbinden - https://bench.metrunio.com/en/help/snippet-einbauen --- --- slug: snippet-einbauen title: "How do I install the code snippet?" category: installation locale: en updated: 2026-10-17 keywords: ["snippet","code","head","script","installation","write key"] questions: ["How do I install Metrunio without a tag manager?","Where do I paste the tracking code?","Install snippet","Tracking without GTM","Where do I find my write key?","What does YOUR_WRITE_KEY in the code mean?","How do I create a new write key?"] url: https://bench.metrunio.com/en/help/snippet-einbauen --- # How do I install the code snippet? **How do I install Metrunio without a tag manager?** The finished code block is in the portal under “Setup → Snippet” and contains site ID and collector address. You see the write key only once, when it is created; if it is no longer known, the code carries the placeholder YOUR_WRITE_KEY and a button next to it creates a new one. The block belongs immediately before the closing head tag and loads asynchronously. ## Where it goes Immediately before the closing head tag, on every page and not only the home page. A single include in your central layout file is enough. ## The write key The write key is stored hashed only and therefore shown in clear text exactly once: when the website is created. After that nobody knows it, not even us. 1. If you still have the key, put it in the code where the placeholder is. 2. If you do not, choose “Create a new write key” in the portal. The code becomes complete immediately. 3. The previous key is revoked in the process: code already installed stops sending until you replace it. > **Caution:** Code containing the placeholder YOUR_WRITE_KEY sends nothing. Do not install it that way: the live test would stay empty and the cause would not be visible from outside. ## Reporting consent ```html ``` Call this as soon as your consent tool reports a decision. Until then the system stores nothing. > **Caution:** Do not install the snippet in addition to a GTM tag. Metrunio does catch the second load and counts nothing twice, but only the settings of the installation that loads first then apply; the article “How do I fix a double installation?” describes the signs and the fix. ## Also asked - Where do I paste the tracking code? - Install snippet - Tracking without GTM - Where do I find my write key? - What does YOUR_WRITE_KEY in the code mean? - How do I create a new write key? ## Related - https://bench.metrunio.com/en/help/shopsysteme - https://bench.metrunio.com/en/help/doppelte-installation - https://bench.metrunio.com/en/help/sdk-api - https://bench.metrunio.com/en/help/nur-testdaten-empfangen --- --- slug: shopify-app title: "How do I set up Metrunio in Shopify?" category: installation locale: en updated: 2026-10-17 keywords: ["Shopify","app","checkout","web pixel","theme","app embed","order","refund"] questions: ["How do I connect my Shopify store to Metrunio?","Where do I get the Shopify app?","Shopify app installation link","I cannot find the Metrunio app in the Shopify App Store","Why is there no button for the Shopify app in the setup assistant?","I did not receive an installation link for the Shopify app","Install Shopify app","Connect Metrunio to Shopify","Do I need to sign up for Metrunio separately to use the Shopify app?","Does the Shopify app create a Metrunio account?","Do I have to conclude the DPA in the Shopify app?","Why is the Shopify app not measuring yet?","Who owns the account if an agency installs the app?","Why does the store owner get an email from Metrunio?","How do I connect my store if I already have a Metrunio account?","Why does the app not link my existing account automatically?","How do I get from Shopify into the Metrunio portal without a password?","What is the password of my account from the Shopify app?","Track Shopify checkout","Send Shopify orders to Metrunio","Why does the snippet not work in the Shopify checkout?","What does the overview of the Metrunio app in Shopify show?","Can I see the report directly in Shopify?","Can I hide the setup checklist in the Shopify app?","Is the Shopify app available in English?","What happens to Shopify orders without consent?","Are orders missing when customers do not answer the cookie banner?","Are orders missing when customers refuse in the cookie banner?","Why are Shopify orders missing after a refusal in the banner?","Is a “Buy it now” order attributed?","Are in-store (POS) orders counted?","Why are imported Shopify orders not attributed?","Can I pay for Metrunio through Shopify?","Does the Shopify app switch to my own measurement domain?","Shopify cookie banner","Does the Shopify cookie banner work with Metrunio?","Which consent tool do I choose for Shopify?","What happens to deletion and access requests from Shopify?","Does Metrunio also delete orders without consent when a customer asks for deletion?"] url: https://bench.metrunio.com/en/help/shopify-app --- # How do I set up Metrunio in Shopify? **How do I connect my Shopify store to Metrunio?** You install the Metrunio app in your store via its installation link: from the setup assistant in the portal or from our email. If you do not have a Metrunio account yet, the app creates one without a second sign-up once you accept the terms and conclude the data processing agreement with two tick boxes; an existing account you connect by signing in to the portal. Measurement starts only once the DPA is concluded, and then covers storefront, checkout and order at once, with no change to your theme code. Since Shopify reworked its checkout, no custom script runs on the payment pages. A snippet in the theme therefore measures the storefront but not the completion, which is the very step that matters. The app solves this because it works at all three places at once. ## Setting it up 1. Install the Metrunio app using its installation link and open it in your Shopify admin. The setup assistant in the portal shows the link once you choose “My shop runs on Shopify” there. If it says we will send it to you by email, use the link from our email. 2. No Metrunio account yet: check the company and address (the app suggests them from your store’s billing address) and who concludes on the company’s behalf. Then tick both boxes; neither is preselected: “I am acting on behalf of the business named above, am authorised to enter into contracts, and accept the Terms and Conditions.” and “On behalf of the business named above, I enter into the data processing agreement, including its annexes, with Metrunio.” The app creates your account, a website for your store and the connection, and concludes the DPA in the same operation. 3. Already have a Metrunio account: choose “I already have a Metrunio account”, sign in to the portal and pick the website this store should measure into. If your account has no DPA yet, you conclude it in the app afterwards. 4. Enable the “Metrunio Tracking” app embed. While it is off, the app’s overview shows a notice with a button that opens the theme editor at exactly the right place. 5. Open your store and add an item to the cart; the event appears in the portal within seconds. > **Note:** A store measures into exactly one website. Otherwise the same order would appear twice in the report, and the total would be twice your actual revenue. ## Where the installation link comes from If you start with Shopify, you receive the installation link from us by email, and the setup assistant says so where the install button would otherwise be. The link is meant for you alone, so please do not pass it on. If no email has arrived, request it in the assistant with “Request the link”; the button opens an email to support@metrunio.com with your account and website in the subject. ## An account from the app When the app creates your account, it takes your store’s name, currency and time zone. The owner of the Metrunio account is the person signed in to Shopify who ticks the boxes, not automatically the store owner from the store settings. If an employee or an agency sets up the app, the account belongs to them; they then invite further people in the portal. You start with the same trial as when signing up in the portal, and you have the Admin role in your account. The website carries your store’s address; the app sets up keys and the measurement address itself. > **Note:** If a Metrunio account already exists for the email address you are signed in to Shopify with, the app neither creates a second one nor attaches itself to the existing one. An address entered in Shopify does not prove that the account is yours. The app then takes you through signing in to the portal instead. An account created by the app has no password at first; you get in through the app. If you also want to sign in to the portal directly, set one via “Forgot your password?” on the sign-in page. The link goes to the email address you are signed in to Shopify with. If you uninstall the app and install it again later, your account still exists. You then connect the store by signing in to the portal. ## Data processing agreement and confirmation Measurement starts only once the data processing agreement is concluded, as for every Metrunio account. For an account created by the app, that happens with the second tick box, in the same step as the account. If your store was connected through the portal and the DPA is still missing, you conclude it in the app without switching to the portal; the app shows you whether it is concluded. Until then Metrunio accepts nothing (no visits, no orders, no order import), and anything sent before is lost for good. After concluding it you receive a confirmation by email: with your declarations and links to the terms, the privacy notice, the data processing agreement and its annexes, each with the agreed version in the link. The agreement and its annexes in the exact wording you accepted are kept unchanged in the portal under “Privacy”. From your store settings Metrunio takes the store owner’s name and email address; the address becomes the account’s contact address. If it differs from yours, the store owner receives information under Art. 14 GDPR by email: who created the account and which details Metrunio received from Shopify for it. > **Legal note:** Metrunio stores your consent from the app together with the versions of the terms, the privacy notice and the DPA, the time and the acting person. ## Into the portal without a password From the app you reach the portal without signing in again: the app fetches a sign-in link that is valid for one minute and can be used once. It signs in the account that authorised the connection: you as the owner for an account created by the app, or the person who authorised it for a connection made in the portal. > **Note:** If you have switched on two-step verification, the portal still asks for the code from your authenticator app after the link. The link replaces the password, not the second step. ## What the app measures | Place | What arrives | Requires | | --- | --- | --- | | Storefront | Page views, product views, cart | the app block in the theme | | Checkout | The steps up to completion | nothing (the pixel is created on connect) | | Order and refund | Revenue, breakdown, line items | nothing | The purchase is reported from the order alone, never from the browser. That is why your revenue stays complete even when someone closes the browser right after paying, or uses an ad blocker. ## Consent The app reads consent from Shopify’s Customer Privacy API, the same source Shopify binds its own measurement tools to. If your cookie banner is connected to it, your visitors’ choice applies to Metrunio automatically. The cookie banner Shopify itself offers in your shop’s privacy settings always is; with Usercentrics, Consentmanager and Cookiebot it is the norm. That is why you do not choose a consent tool for the app anywhere, and it loads no consent bridge. The choice in the portal’s setup assistant applies to the embed code on other websites; it has no effect on the app. > **Caution:** If the banner is not connected to the Privacy API, no signal arrives. Metrunio then assumes “unknown”, not “granted”. How unknown consent is handled is a setting in the portal. Orders without consent are still not lost: whether the banner went unanswered, the app embed is off or the sale happened at the till in your shop. Metrunio then stores the purchase and refund for revenue reconciliation, without browser, customer or advertising identifiers: order ID, amount and the day of the order, but no line items, no customer ID, no email hash, no campaign. After a refusal in the banner this only applies with an activated additional instruction for revenue reconciliation. In the portal they appear as not attributed with the reason “No consent”. The revenue is measured, it is not attributed to a channel, and nothing is sent to ad platforms. > **Caution:** Since 1 October 2026 the app reports a refusal in the banner as a refusal. Before that, such an order arrived as if nobody had decided and always counted. Shopify now follows the same rule as Shopware: without an activated additional instruction for revenue reconciliation, Metrunio does not accept the purchase and refund after a refusal, and your measured revenue is lower than your shop’s by these orders. If you want to see them in revenue reconciliation, conclude the additional instruction (help article “Additional instruction for revenue reconciliation”). Orders rejected before the activation are not recovered. Without a decision everything stays as before: banner not answered, app embed off, till in your shop, draft order or a decision made only at checkout. There is one exception: “Buy it now” and other dynamic checkouts never create a cart, so the webhook often delivers the order without consent even though the customer did consent. If the checkout pixel reported the same order ID with consent, Metrunio links the two (whichever arrives first) and attributes the purchase like any other. > **Legal note:** That order data with an order number but without browser, customer or advertising identifiers may be stored without consent is a legal assessment. It remains personal data, because your shop can link the order number to a person. Check with your privacy counsel whether the assessment holds for your shop, and add revenue reconciliation to your privacy policy (help article “Privacy policy text block: revenue reconciliation”). ## The app embed in your theme The app sets up the checkout pixel and orders itself when you connect. It cannot switch on the storefront block; Shopify leaves that to you, in the theme editor. So the app checks whether the block is on in the published theme and tells you on its overview. The same shows up in the Health Center in the portal. > **Caution:** If the embed is off, orders keep arriving but visits do not. Every order then shows as “not attributed” in reports. How to switch it on and what the notices mean is covered in “How do I activate the Metrunio app embed in Shopify?”. ## Custom measurement domain If you set up a custom measurement domain in “Setup”, the app switches itself as soon as the address is live: the theme embed, the checkout pixel and the order reports then go to your address. This happens at the latest the next time you open the app in the Shopify admin, and earlier if your theme changes. There is no tracking code to replace; until the switch, the app keeps measuring over the shared address. ## The overview in the app At the top is a setup checklist: create your account and connect, turn on the app embed, receive your first events and optionally import orders from before installation. Each step ticks itself off as soon as the app can confirm it; if it cannot tell, the step stays open. You can hide the list at any time, and it then stays hidden for this store. Below it, the status shows the connection, the app embed, the most recent accepted event and delivery errors. Once the store is connected, the page shows the past 28 days: attributed revenue and conversions, the share attributed and unattributed, revenue by channel, the five strongest campaigns, a short comparison of attribution models, and measured visits and events. Every figure says what it is: measured or attributed. Attribution uses your account’s default model, which is named underneath. “Full report in the portal” opens the portal without a password. If the app cannot fetch the figures at the moment, it says so and shows none. A zero only appears when nothing was actually measured. If your account measures other websites besides this store, the app shows only this store’s figures: orders and their attribution belong to the website where the order was placed. Attribution still uses all of the person’s contacts, including ads that belong to no website. The app speaks the language of your Shopify admin: German if the admin is set to German, otherwise English. ## Contribution margin If you maintain “Cost per item” in Shopify, the app sends it along and Metrunio also shows the contribution margin and the margin ROAS under “Commerce & products”. If the value is missing for one item of an order, the margin for that order stays empty. A partial sum would overstate it. ## Orders from before In the app you can import orders from up to two years back. These orders appear as “not attributed”: nothing was measured before installation, so there is no touchpoint the revenue could belong to. They give you a revenue baseline for comparison, not attribution. Old orders carry no consent decision. They are therefore stored for revenue reconciliation, just like orders without a banner decision, with the order number and without browser, customer or advertising identifiers, and appear in the portal as “not attributed” with the reason “No consent”. That is exactly why the import brings in revenue at all: without this route every old order would be rejected. The import runs only after the DPA is concluded and then also brings in orders placed before that. ## Paying through Shopify You can choose your plan directly in Shopify; Shopify charges it on your Shopify bill. Metrunio applies the plan as soon as the app reports the subscription and shows it under “Plan & usage”. Above the quota, measurement continues and is billed: €3 per started 10,000 events, capped by what the next plan up costs at the same volume, also on your Shopify bill. For that to be reported, the app must stay installed. Details are in “How do I pay, and where are my invoices?”. ## Privacy requests from Shopify - If a customer asks your store to delete her data, Shopify passes that on to the app and Metrunio deletes immediately: raw events, conversions and identities for her email hash. The identifier goes onto the suppression list so that nothing new about her is accepted. In the portal the request then shows as completed. - Along with the deletion request, Shopify lists the customer’s orders, and the app passes their order IDs on. Metrunio deletes everything for these orders, including orders stored without consent under nothing but their order ID, which the email hash would not reach. The order IDs go onto the suppression list as well: a later report, refund or import of these orders is rejected. If the customer has no email address on file, the order IDs alone are enough; the request in the portal then shows the order IDs as its identifier. - An access request remains a step for you: it appears under “Privacy” with a deadline, because Shopify expects the answer within 30 days. “Carry out” produces the access file, which you pass on to the customer. > **Legal note:** Whether the automatic deletion and the 30-day deadline fully cover your GDPR obligations depends on your store. Check with your privacy counsel. ## Releasing the connection Releasing the connection or uninstalling the app revokes both of the store’s keys and stops measurement. Your measured data stays: it belongs to your Metrunio account, not to the app. If you pay through Shopify, uninstalling also ends the subscription: your account then falls back to the free plan “Start”. Nothing is locked, you keep access to your reports; the free plan’s quota and retention apply. Without uninstalling, you release the connection in the portal under “Data connections”: at the website, “Shopify app” shows the connected store with “Release connection” next to it. The Admin role can do this. If your Shopify subscription runs through the connection, the portal refuses, because Shopify would otherwise keep billing the subscription. In that case, uninstall the app in Shopify. ## Also asked - Where do I get the Shopify app? - Shopify app installation link - I cannot find the Metrunio app in the Shopify App Store - Why is there no button for the Shopify app in the setup assistant? - I did not receive an installation link for the Shopify app - Install Shopify app - Connect Metrunio to Shopify - Do I need to sign up for Metrunio separately to use the Shopify app? - Does the Shopify app create a Metrunio account? - Do I have to conclude the DPA in the Shopify app? - Why is the Shopify app not measuring yet? - Who owns the account if an agency installs the app? - Why does the store owner get an email from Metrunio? - How do I connect my store if I already have a Metrunio account? - Why does the app not link my existing account automatically? - How do I get from Shopify into the Metrunio portal without a password? - What is the password of my account from the Shopify app? - Track Shopify checkout - Send Shopify orders to Metrunio - Why does the snippet not work in the Shopify checkout? - What does the overview of the Metrunio app in Shopify show? - Can I see the report directly in Shopify? - Can I hide the setup checklist in the Shopify app? - Is the Shopify app available in English? - What happens to Shopify orders without consent? - Are orders missing when customers do not answer the cookie banner? - Are orders missing when customers refuse in the cookie banner? - Why are Shopify orders missing after a refusal in the banner? - Is a “Buy it now” order attributed? - Are in-store (POS) orders counted? - Why are imported Shopify orders not attributed? - Can I pay for Metrunio through Shopify? - Does the Shopify app switch to my own measurement domain? - Shopify cookie banner - Does the Shopify cookie banner work with Metrunio? - Which consent tool do I choose for Shopify? - What happens to deletion and access requests from Shopify? - Does Metrunio also delete orders without consent when a customer asks for deletion? ## Related - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/shopify-app-einbettung - https://bench.metrunio.com/en/help/eigene-messdomaene - https://bench.metrunio.com/en/help/shopsysteme - https://bench.metrunio.com/en/help/shop-bestelldaten-senden - https://bench.metrunio.com/en/help/consent-tool-verbinden - https://bench.metrunio.com/en/help/consent-serverseitig - https://bench.metrunio.com/en/help/zusatzweisung-umsatzabstimmung - https://bench.metrunio.com/en/help/neukundenkosten-und-deckungsbeitrag - https://bench.metrunio.com/en/help/bezahlen-und-rechnungen - https://bench.metrunio.com/en/help/betroffenenrechte --- --- slug: ladezeit title: "Does Metrunio slow down my shop?" category: installation locale: en updated: 2026-10-17 keywords: ["load time","slow","PageSpeed","Core Web Vitals","file size","async","performance"] questions: ["How much does the tracking script slow down my page?","Does Metrunio slow down my shop?","Will tracking make my website slower?","How large is the tracking script?","Does Metrunio affect PageSpeed?","Does the script hurt Core Web Vitals?","Does the script load asynchronously?"] url: https://bench.metrunio.com/en/help/ladezeit --- # Does Metrunio slow down my shop? **How much does the tracking script slow down my page?** The tracking script loads asynchronously, alongside your page, and does not hold up its rendering. About 10.4 KB are transferred with Brotli or 11.6 KB with gzip, after which it sits in the browser cache. The consent bridge, another 10 KB or so, loads only if you connected a consent tool through it, and before the decision in the cookie banner the script sends nothing. | File | Uncompressed | Transferred (Brotli / gzip) | When it loads | | --- | --- | --- | --- | | Tracking script (t.js) | 34.4 KB | 10.4 KB / 11.6 KB | on every page | | Consent bridge (consent-bridge.js) | 31.4 KB | 9.5 KB / 10.6 KB | only if you chose a consent bridge in the embed code | Measured on 17.10.2026 on the built files, compressed the way Metrunio serves them. Modern browsers get the Brotli version, older ones gzip. ## What “asynchronous” means here The embed code adds the script with the async attribute. The browser loads it on the side while it renders text, images and the cart, and waits for Metrunio with none of it. What the script measures it sends in batches in the background. If the measurement address is unreachable for a moment, your customer notices nothing: the events wait in the browser and go out later. After the first load the browser keeps the script for an hour and then fetches the new version in the background, while it goes on using the old one for up to a day. On the second page of a visit, as a rule, nothing is transferred any more. ## With the Shopify app The app embed loads the same script asynchronously and the consent bridge not at all: the app reads consent through Shopify. In checkout, the pixel the app creates on connecting measures inside the sandbox Shopify provides for pixels, and Shopify reports the order itself to Metrunio without anything happening in the browser. > **Note:** An automated test keeps the tracking script at no more than 12 KB with gzip; if it grows beyond that, the test fails. We have not measured a before-and-after value in PageSpeed Insights. If you want to know for your shop, measure the home page there once with and once without Metrunio. ## Also asked - Does Metrunio slow down my shop? - Will tracking make my website slower? - How large is the tracking script? - Does Metrunio affect PageSpeed? - Does the script hurt Core Web Vitals? - Does the script load asynchronously? ## Related - https://bench.metrunio.com/en/help/snippet-einbauen - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/consent-bridge - https://bench.metrunio.com/en/help/sdk-api - https://bench.metrunio.com/en/help/consent-grundsatz --- --- slug: shopify-app-einbettung title: "How do I activate the Metrunio app embed in Shopify?" category: installation locale: en updated: 2026-10-12 keywords: ["Shopify","app embed","theme","theme editor","storefront","SHOPIFY_APP_EMBED_INACTIVE"] questions: ["Why does Metrunio say the app embed is not active in my Shopify theme?","The app embed is not active in the published theme","Activate Shopify app embed","Turn on Metrunio Tracking in the theme","Where do I find app embeds in Shopify?","Shopify orders arrive but no page views","Why are all Shopify orders not attributed?","Changed theme, Metrunio stopped measuring"] url: https://bench.metrunio.com/en/help/shopify-app-einbettung --- # How do I activate the Metrunio app embed in Shopify? **Why does Metrunio say the app embed is not active in my Shopify theme?** The “Metrunio Tracking” block measures visits on your storefront and has to be switched on in the published theme; only you can do that, in the theme editor. The button in the notice in the Metrunio app opens the editor at exactly that spot; you switch the block on and save. While it is off, orders arrive but visits do not, and every order stays “not attributed”. The Metrunio app measures in three places. It sets up the checkout pixel and orders itself when you connect. The third place, the storefront, depends on a block in your theme: the “app embed”. Shopify does not let apps flip that switch themselves; it is reserved for you. ## Switching it on 1. Open the Metrunio app in your Shopify admin. 2. In the notice at the top, choose “Turn on app embed”. The theme editor opens in a new tab with “Metrunio Tracking” already selected. 3. Switch the block on and choose “Save”. 4. Go back to the app and reload the overview. It reads the theme again and shows “On”. You can also do it by hand: “Online Store → Themes”, “Customize” on the published theme, the “App embeds” icon on the left, switch on “Metrunio Tracking” and save. > **Note:** The button leads into the theme editor of the published theme, opened at the app embeds, through an address of the form admin.shopify.com/store//themes/current/editor?context=apps&activateAppId=… It changes nothing by itself; nothing is saved until you save. ## What the notices mean | Shown in the app | Meaning | What to do | | --- | --- | --- | | On | The block is switched on in the published theme. | nothing | | Off | The block is missing from the published theme or switched off. The storefront is not measuring. | switch it on as above | | Can’t check | The app could not read the theme, for example because Shopify did not respond. This says nothing about the block. | reload the overview later, or check in the theme editor yourself | Only “Off” also appears in the Health Center in the portal, as a finding with the code SHOPIFY_APP_EMBED_INACTIVE. “Can’t check” is not reported there: Metrunio does not claim a problem nobody has seen. ## When the app checks - every time you open its overview, - when you publish a different theme, - when Shopify reports a change to a theme. > **Caution:** When you publish a new theme, the embed starts out switched off there: it belongs to the theme, not to the store. Switch it on again in the new theme. What counts is always the published theme. A block switched on in an unpublished draft measures nothing while nobody sees that draft. ## Also asked - The app embed is not active in the published theme - Activate Shopify app embed - Turn on Metrunio Tracking in the theme - Where do I find app embeds in Shopify? - Shopify orders arrive but no page views - Why are all Shopify orders not attributed? - Changed theme, Metrunio stopped measuring ## Related - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/health-center - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet - https://bench.metrunio.com/en/help/warum-keine-pageviews --- --- slug: shopware-plugin title: "How do I set up Metrunio in Shopware 6?" category: installation locale: en updated: 2026-10-16 keywords: ["Shopware","Shopware 6","plugin","sales channel","message worker","SHOPWARE_SNIPPET_INACTIVE","SHOPWARE_REPORTS_STALLED","Check consent","OneTrust"] questions: ["How do I install and connect the Metrunio plugin for Shopware?","What stays on my orders when I uninstall?","Where do I get the Shopware plugin?","Download the Shopware plugin","Install the Shopware plugin","Add Metrunio to Shopware","Shopware 6 tracking plugin","Connect Shopware to Metrunio","Order reports from Shopware are stuck","The snippet is switched off in the sales channel","Does the plugin work in Shopware Cloud?","Does the plugin run on Shopware 6.6?","How do I check that Shopware passes consent to Metrunio?","Does the plugin work with OneTrust, Usercentrics or Cookiebot?","Does my consent tool block the Metrunio script?"] url: https://bench.metrunio.com/en/help/shopware-plugin --- # How do I set up Metrunio in Shopware 6? **How do I install and connect the Metrunio plugin for Shopware?** You install the “Metrunio” plugin in Shopware 6, click “Connect to Metrunio” in its settings and confirm the website in the portal. From then on the plugin measures visits, takes the consent decision from your consent tool and reports orders, cancellations and refunds straight from the shop server. ## What you need - Shopware 6.6 or 6.7, self-hosted or with a hosting provider. Shopware Cloud does not run plugins; there you measure with the snippet and the Server Events API. - A Metrunio account with a website for the shop and a concluded data processing agreement. Before that, Metrunio accepts nothing. - The shop’s domain among the addresses of that website, as its main address or an allowed domain. The portal only returns there after authorisation. - A running message worker. Shopware sends the order reports through its message queue; the admin worker is enough. ## Setting it up 1. Download the free “Metrunio” plugin in the portal under “Setup assistant”. Upload the file in the administration under “Extensions → My extensions → Upload extension”, then install and activate the plugin. 2. Open “Extensions → My extensions → Metrunio → Configure” and choose the sales channel at the top. 3. Click “Connect to Metrunio”. The portal opens: sign in, choose the website and confirm. 4. You are taken back to Shopware. The status line names the connected website. 5. Under “Consent source”, choose your tool or leave “Automatic”. Save and clear the cache. 6. In the plugin settings, click “Check consent”. Your shop opens with a small panel at the top right: which consent tool is recognised, which entry it looks for and which decision is present. Accept in the banner, and the panel shows the new decision. 7. Open the shop in a private window, accept in the banner and visit two pages. They appear in the live test in the portal. The plugin reads the decision from the Shopware cookie manager or from Usercentrics, consentmanager, Cookiebot, CCM19, OneTrust, Google Consent Mode or IAB TCF. For tools that hold back scripts before consent on their own (Cookiebot, Usercentrics, consentmanager, OneTrust), the Metrunio script tags carry the exemptions these tools provide for this. Before your visitors decide, they store and send nothing. You only need an entry for Metrunio in tools that ask for services, such as Usercentrics or CCM19; the check shows which one. If your shop has several sales channels, you connect each one. Each measures into the website you choose when connecting; two channels may use the same website. ## What the plugin measures | What | From where | When | | --- | --- | --- | | Page views and consent | snippet on every page of the sales channel | only after the decision in the banner | | Purchase | from the shop server when the order is created | with consent, linked to the visits; without a decision in the banner with the order number, without browser, customer or advertising identifiers, not attributed; after a refusal the same, but only with an activated additional instruction for revenue reconciliation | | Cancellation and full refund | from the shop server on the status change | as a refund of the full amount | | Subscription orders from Shopware Subscriptions (from 1.3.0) | from the shop server, with the subscription ID | the first order like any purchase; every renewal order as a renewal without a decision and without identifiers, measured and never attributed | | Link between purchase and visits | identifier from the session, which the plugin attaches to the order | only with consent for analytics | Amounts go out in your shop’s default currency, at the rate Shopware used for the order. The plugin takes the cost of goods from the products’ purchase price, but only if it is maintained for every line. If one is missing, the field stays empty. ## When the portal shows a finding | Finding | Cause | What you do | | --- | --- | --- | | SHOPWARE_SNIPPET_INACTIVE | The snippet is switched off for the sales channel. Orders arrive, visits do not. | Switch it on in the plugin settings, save, clear the cache. | | SHOPWARE_REPORTS_STALLED | Order reports have been waiting in the shop for more than an hour. Usually no message worker is running. | Start the worker. Orders that were not reported can be sent again from the plugin settings. | ## Limits - The plugin does not report partial refunds. Shopware only knows the status “partially refunded”, not the amount. Report them through the Server Events API. - A renewal order from Shopware Subscriptions is created without a visit. It goes out without a consent decision, even if Shopware copies the details of the first order, and is therefore never attributed. If one order starts several subscriptions (mixed cart with different plans), it carries no subscription ID. - Orders you create in the administration have no session and therefore no consent. They count towards revenue but are not attributed to any channel. - If someone abandons payment at PayPal or Klarna, Shopware cancels the order. The report then shows a purchase and a refund. - Your data stays in Metrunio after an uninstall. If Metrunio cannot be reached while you uninstall, the connection remains. You then release it in the portal under “Data connections” with “Release connection”; the Admin role can do this. - When you uninstall, Metrunio’s details on your orders stay in place (`order.customFields.metrunio`: the visit and session identifiers and the consent state). They belong to the order in your shop, and if you install the plugin again, it reports refunds of earlier orders with their consent state. ## Also asked - What stays on my orders when I uninstall? - Where do I get the Shopware plugin? - Download the Shopware plugin - Install the Shopware plugin - Add Metrunio to Shopware - Shopware 6 tracking plugin - Connect Shopware to Metrunio - Order reports from Shopware are stuck - The snippet is switched off in the sales channel - Does the plugin work in Shopware Cloud? - Does the plugin run on Shopware 6.6? - How do I check that Shopware passes consent to Metrunio? - Does the plugin work with OneTrust, Usercentrics or Cookiebot? - Does my consent tool block the Metrunio script? ## Related - https://bench.metrunio.com/en/help/consent-bridge - https://bench.metrunio.com/en/help/shopsysteme - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/erstattungen - https://bench.metrunio.com/en/help/abo-folgezahlungen - https://bench.metrunio.com/en/help/erlaubte-domains - https://bench.metrunio.com/en/help/health-center --- --- slug: stripe-und-paypal title: "How do I report purchases through Stripe or PayPal?" category: installation locale: en updated: 2026-10-16 keywords: ["Stripe","PayPal","webhook","Payment Link","checkout","payment provider","refund"] questions: ["Can Metrunio take purchases straight from Stripe or PayPal without me writing code?","Connect Stripe","Connect PayPal","Stripe webhook Metrunio","Payment Link tracking","Stripe Checkout conversion","Measure purchases without a shop system","client_reference_id","What happens to a Stripe purchase after someone declines in the cookie banner?","What does mtr1_d mean?","I already use client_reference_id myself. What happens to my purchases?","Why does the payment connection show a notice about my own reference?","What happens to the refund of a rejected purchase?","Do subscription renewals from Stripe count?"] url: https://bench.metrunio.com/en/help/stripe-und-paypal --- # How do I report purchases through Stripe or PayPal? **Can Metrunio take purchases straight from Stripe or PayPal without me writing code?** Without writing code, on every plan: under “Data connections → Payment providers” you add a connection and enter the address Metrunio gives you as a webhook at Stripe or PayPal. Purchases and refunds then come from the payment provider; a purchase is attributed if it carries the reference from the SDK. For everyone whose purchase ends at Stripe or PayPal: courses, software, services, small shops without a shop system. Metrunio accepts the payment provider’s webhooks, checks their signature and reads amount, currency, time and refunds from them. ## Stripe 1. In the portal, add a connection for Stripe and your website under “Data connections → Payment providers”. Metrunio shows you an address. 2. In Stripe, add an endpoint with this address under “Developers → Webhooks” and choose the events checkout.session.completed, checkout.session.async_payment_succeeded, invoice.paid and refund.created. Without invoice.paid, your subscription renewals are missing. 3. Copy the endpoint’s signing secret (starts with whsec_) and enter it on the connection. Only then does Metrunio accept messages. ## PayPal 1. In the portal, add a connection for PayPal and your website. 2. In your app in the PayPal developer area, add a webhook with the address under “Webhooks” and choose PAYMENT.CAPTURE.COMPLETED and PAYMENT.CAPTURE.REFUNDED. 3. Copy the webhook ID and enter it on the connection. Metrunio checks every message against the certificate PayPal signs with. ## So that purchases are attributed A purchase lands in the journey if it carries the reference from the SDK. With consent to analytics it contains the visitor ID, the session and the consent state. If someone declined or withdrew consent in the banner, it carries only that status (mtr1_d) and no ID. Before any decision there is no reference. - Stripe Payment Links, Buy Buttons and Pricing Tables: nothing to do. The SDK sets the reference itself as client_reference_id. If you already use the field yourself, your value stays; what that means for your purchases is explained below. - Stripe Checkout with your own code: pass client_reference_id: metrunio.paymentReference() when you create the session (handed from the browser to your server). - PayPal buttons: pass purchase_units[0].custom_id: metrunio.paymentReference() when you create the order. ```javascript // Browser: get the reference and hand it to your server const reference = metrunio.paymentReference(); // null until a decision is made // Server (Stripe Checkout) const session = await stripe.checkout.sessions.create({ mode: 'payment', line_items: [...], success_url: 'https://www.example.com/thanks', ...(reference ? { client_reference_id: reference } : {}), }); ``` With no reference at all, the purchase still counts: as measured revenue, not attributed, like any order without a consent decision. Do not also report the same purchase from the browser; the order number is the payment at Stripe or PayPal, and a second report with a different number would count twice. ## If your shop uses the field itself If client_reference_id at Stripe or custom_id at PayPal carries a value of your own shop, the reference from the SDK is missing. Whether the customer declined in the banner cannot be determined then. Metrunio therefore treats such a purchase like one after a refusal: with the additional instruction for revenue reconciliation activated, it counts as measured revenue without any ID and is never attributed. Without it, Metrunio does not accept the purchase. The payment connection in the portal then shows a notice with the date of the last such purchase. Only that date is stored for this, not your value. If you want to see these purchases, give the additional instruction or pass the reference from the SDK instead of your own value. ## After a refusal or withdrawal - If the purchase carries mtr1_d, it counts as an order after a refusal. With the additional instruction for revenue reconciliation activated, it counts as measured revenue without any ID and is never attributed. Without it, Metrunio does not accept the purchase, and the connection’s log shows it as rejected. - If someone withdraws consent in the banner, the SDK replaces the reference on Payment Links, Buy Buttons and Pricing Tables with mtr1_d. If you fetch the reference in your own code, ask for it when you create the checkout, not when the page loads. - If the checkout was created with consent and the payment only arrives after the withdrawal (for example by direct debit), Metrunio does not accept the purchase. It does not go into revenue reconciliation as an order without a decision either. - A refund carries no reference. It is booked against the payment without any ID and only changes a purchase that Metrunio accepted. - If Metrunio rejected the purchase, it also discards its refund: the refund is not stored, does not appear under “Data status” and does not turn the connection red. The connection’s log lists it as “does not count”, without an order number. For this, Metrunio keeps only a checksum of the payment for 180 days when it rejects the purchase, not the payment itself. If the refund arrives before the purchase, it waits without any ID until the next processing attempt and is deleted then. - Two exceptions: if the refund only arrives after those 180 days, or names a different identifier than the purchase (such as only the charge), Metrunio does not recognise the rejected purchase. The refund then waits 24 hours without any ID for a purchase like every refund, is deleted afterwards and only counted under “Data status”, without an order number. - A rejection after a refusal or withdrawal is intended. The log lists it as “rejected”, but the connection does not show an error because of it. > **Legal note:** Whether you may have purchases after a refusal processed for revenue reconciliation is your decision as the controller. The additional instruction is the basis for this in your contract with Metrunio; it does not replace a review of your legal basis. ## What is read and what is not - Read: the payment ID, amount, currency, time, for Stripe also tax, shipping and discount, the subscription ID and the reason for an invoice, and the reference. - Not read: names, email and postal addresses, payment and card details. The message itself is not stored. - The connection’s log shows the last 50 messages with type, outcome and amount, without order numbers, and keeps them for 30 days. - Paid checkout sessions count, including the first payment of a subscription, and completed PayPal payments. A checkout without an amount (such as a trial) does not count. - Since 16 October 2026, subscription renewals count as renewals (invoice.paid with billing_reason subscription_cycle): measured and shown separately in the reports, but not attributed to a channel, because an invoice carries no reference from the browser. Other invoices, for example after a plan change, do not count, and neither do subscriptions through PayPal. The article on subscription renewals has the details. - With Stripe, a direct debit counts only once it is paid (checkout.session.async_payment_succeeded). - Metrunio does not always find refunds of a subscription payment, because Stripe books them against a different payment than the checkout session. After 24 hours without a purchase Metrunio deletes them and only counts them per day under “Data status” (REFUND_WITHOUT_PURCHASE), without order numbers. - Metrunio matches a refund via the payment intent, even if Stripe only includes it in the charge. If a refund names only the charge, it finds no purchase: the checkout session does not name the charge, and Metrunio does not query Stripe. This affects payments without a payment intent, which Stripe Checkout does not create. - One webhook per website and provider. Several websites with one Stripe account need one endpoint each. ## Also asked - Connect Stripe - Connect PayPal - Stripe webhook Metrunio - Payment Link tracking - Stripe Checkout conversion - Measure purchases without a shop system - client_reference_id - What happens to a Stripe purchase after someone declines in the cookie banner? - What does mtr1_d mean? - I already use client_reference_id myself. What happens to my purchases? - Why does the payment connection show a notice about my own reference? - What happens to the refund of a rejected purchase? - Do subscription renewals from Stripe count? ## Related - https://bench.metrunio.com/en/help/shopsysteme - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/sdk-api - https://bench.metrunio.com/en/help/erstattungen - https://bench.metrunio.com/en/help/consent-vor-einwilligung - https://bench.metrunio.com/en/help/zusatzweisung-umsatzabstimmung - https://bench.metrunio.com/en/help/abo-folgezahlungen --- --- slug: wordpress-plugin title: "How do I set up Metrunio in WordPress and WooCommerce?" category: installation locale: en updated: 2026-10-16 keywords: ["WordPress","WooCommerce","plugin","multisite","Polylang","WPML","WP-Cron","Action Scheduler","WORDPRESS_SNIPPET_INACTIVE","WORDPRESS_REPORTS_STALLED"] questions: ["How do I install and connect the Metrunio plugin for WordPress?","What stays on my orders when I uninstall?","Where do I get the WordPress plugin?","WooCommerce plugin","Download the WordPress plugin","Install the WordPress plugin","WooCommerce tracking plugin","Add Metrunio to WooCommerce","Connect WordPress to Metrunio","Order reports from WooCommerce are stuck","Measurement is switched off on the WordPress website","Does the plugin work without WooCommerce?","Does the plugin run in a multisite network?","Does the plugin work with Polylang or WPML?","Multilingual website with one domain per language","When does a WooCommerce order count as a purchase?","What happens to the plugin on a staging copy?"] url: https://bench.metrunio.com/en/help/wordpress-plugin --- # How do I set up Metrunio in WordPress and WooCommerce? **How do I install and connect the Metrunio plugin for WordPress?** You install the “Metrunio” plugin in WordPress, click “Connect to Metrunio” under “Settings → Metrunio” and confirm the website in the portal. From then on the plugin measures visits and takes the consent decision from your consent tool. With WooCommerce it also reports orders, cancellations and refunds straight from the server. ## What you need - WordPress 6.9 or newer with PHP 7.4 or newer. For orders, WooCommerce 11.0 or newer; without WooCommerce the plugin measures visits and campaigns. - A Metrunio account with a website and a concluded data processing agreement. Before that, Metrunio accepts nothing. - The website’s domain among the addresses of that website in Metrunio, as its main address or an allowed domain. The portal only returns there after authorisation. If your WordPress administration runs on a different domain, add that one too. - A user account that may change settings, usually an administrator. ## Setting it up 1. Download the free “Metrunio” plugin in the portal under “Setup assistant”. Upload the file under “Plugins → Add New Plugin → Upload Plugin” and activate the plugin. 2. Open “Settings → Metrunio” and click “Connect to Metrunio”. The portal opens: sign in, choose the website and confirm. 3. You are taken back to WordPress. The status line names the connected website. 4. Under “Consent”, check which tool the plugin has detected, or choose it yourself. Save. 5. Open the website in a private window, accept in the banner and visit two pages. They appear in the live test in the portal. In a multisite network you connect each website on its own. Each measures into the website you choose when connecting. With Polylang or WPML and one domain per language, the plugin adds the domains of all languages as allowed domains when you connect, up to ten. If a language gets its own domain later, add it in the portal under “Setup → Websites and allowed domains” or connect again. Until then, Metrunio accepts nothing from that domain. ## What the plugin measures | What | From where | When | | --- | --- | --- | | Page views and consent | snippet on every page of the website | only after the decision in the banner | | Purchase, only with WooCommerce | from the server as soon as the order is placed: “Processing”, “On hold” or “Completed” | with consent, linked to the visits; without a decision in the banner with the order number, without browser, customer or advertising identifiers, not attributed; after a refusal the same, but only with an activated additional instruction for revenue reconciliation | | Cancellation and refund, only with WooCommerce | from the server on the status change or the refund | a cancellation as a refund of the open amount, a partial refund for its amount | | Subscription orders from WooCommerce Subscriptions (from 1.0.1) | from the server, with the subscription ID | the first order like any purchase; every renewal as a renewal without a decision and without identifiers, measured and never attributed | | Link between purchase and visits | identifier from the session, which the plugin attaches to the order | only with consent for analytics | An order counts as soon as it is placed, with the time someone clicked “Place order”. If it stays at “Pending payment”, for example because someone abandons payment at PayPal, it is not a purchase. That way the figures match WooCommerce Analytics. Amounts go out in the order’s currency. The plugin takes the cost of goods from WooCommerce’s “Cost of Goods Sold” feature, but only if every product line has a value. If one is missing, the field stays empty. ## When the portal shows a finding | Finding | Cause | What you do | | --- | --- | --- | | WORDPRESS_SNIPPET_INACTIVE | Measurement on the website is switched off in the plugin settings. Visits do not arrive; WooCommerce orders still do, but without the visits before them. | Switch it on under “Settings → Metrunio” and save. | | WORDPRESS_REPORTS_STALLED | Order reports have been waiting in the shop for more than an hour. Usually WP-Cron is not running. | Check whether `DISABLE_WP_CRON` is set, and if so set up a cron job on the server. Orders that were not reported can be sent again from the plugin settings. | ## Limits - Without WooCommerce, the plugin does not report enquiries from forms. Create a goal step in the portal for them. - Orders you create in the administration have no session and therefore no consent. They count towards revenue but are not attributed to any channel. - The plugin does not report changes to an order after the purchase. A cancelled order you reopen stays refunded in Metrunio. - If you refund an order after cancelling it, the plugin does not report the refund again. The cancellation has already refunded the open amount. - A partial refund without selected lines has no split into net value and cost of goods. The order is then left out of the contribution margin totals; the reports say how many there are. - With a multi-currency plugin, Metrunio converts foreign currencies at the daily rate, not at the plugin’s rate. - Amounts go to Metrunio with two decimal places. In a currency with three, such as the Kuwaiti dinar, the third is rounded. - Order reports run on WP-Cron. On a website without visitors, or with WP-Cron switched off and no cron job on the server, they wait. - A renewal from WooCommerce Subscriptions is created without a visit. It goes out without a consent decision and is therefore never attributed. If one order starts several subscriptions (different billing periods in one cart), it carries no subscription ID. - If the keys in `wp-config.php` change, the plugin can no longer read its stored connection. Release the old connection in the portal under “Data connections” with “Release connection”, then connect again. Until then, Metrunio refuses a second connection for the same website. - Your data stays in Metrunio after an uninstall. If Metrunio cannot be reached while you uninstall, the connection remains. You then release it in the portal under “Data connections” with “Release connection”; the Admin role can do this. - When you uninstall, Metrunio’s details on your orders stay in place (order meta `_metrunio`: the visit and session identifiers and the consent state). They belong to the order in your shop, and if you install the plugin again, it reports refunds of earlier orders with their consent state. - If you copy the website including its database, for example for staging, the copy takes the connection with it. The plugin notices the different address and measures nothing there until you deactivate it. If you move the website, disconnect in WordPress after the move and connect again; you release the old connection in the portal under “Data connections”. - With WPML the plugin reads the domains of the languages according to the WPML source code. After connecting, check under “Setup → Websites and allowed domains” whether all domains are listed, and add any missing ones there with “Add domain”. ## Also asked - What stays on my orders when I uninstall? - Where do I get the WordPress plugin? - WooCommerce plugin - Download the WordPress plugin - Install the WordPress plugin - WooCommerce tracking plugin - Add Metrunio to WooCommerce - Connect WordPress to Metrunio - Order reports from WooCommerce are stuck - Measurement is switched off on the WordPress website - Does the plugin work without WooCommerce? - Does the plugin run in a multisite network? - Does the plugin work with Polylang or WPML? - Multilingual website with one domain per language - When does a WooCommerce order count as a purchase? - What happens to the plugin on a staging copy? ## Related - https://bench.metrunio.com/en/help/consent-bridge - https://bench.metrunio.com/en/help/consent-tool-verbinden - https://bench.metrunio.com/en/help/shopsysteme - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/erstattungen - https://bench.metrunio.com/en/help/abo-folgezahlungen - https://bench.metrunio.com/en/help/erlaubte-domains - https://bench.metrunio.com/en/help/health-center --- --- slug: shopsysteme title: "Where do I install tracking in my shop system?" category: installation locale: en updated: 2026-10-15 keywords: ["WordPress","Shopify","Shopware","Webflow","shop","CMS"] questions: ["How do I install Metrunio in WordPress, Shopify, Shopware or Webflow?","Install tracking in WordPress","Install tracking in WooCommerce","Install Metrunio on Shopify","Shopware head code","Shopware plugin","Webflow custom code"] url: https://bench.metrunio.com/en/help/shopsysteme --- # Where do I install tracking in my shop system? **How do I install Metrunio in WordPress, Shopify, Shopware or Webflow?** For Shopify, Shopware 6 and WordPress with WooCommerce there is an extension that measures visits, consent and orders at once. The other systems have a place for custom head code; the table names the route per system. Without an extension, we additionally recommend the Server Events API for purchases, because it works independently of the browser. | System | Route | Note | | --- | --- | --- | | WordPress and WooCommerce | Install the Metrunio plugin and connect it under “Settings → Metrunio” | For WordPress 6.9 to 7.1; with WooCommerce it reports orders too. You download it in the portal’s setup assistant. | | Shopify | Install and connect the Metrunio app | It covers storefront, checkout and order at once; no theme change needed. | | Shopware 6 | Install the Metrunio plugin and connect it in its settings | For Shopware 6.6 and 6.7. Shopware Cloud does not run plugins: there use “Settings → Templates”, extend the head section and clear the cache. | | Webflow | “Project settings → Custom code → Head code” | Publish afterwards. | | Stripe or PayPal | Add a connection under “Data connections → Payment providers” | Purchases and refunds come from the payment provider, without code of your own. See “How do I report purchases through Stripe or PayPal?”. | | Custom website | central layout file | Include it only once. | > **Note:** Many shop systems do not allow free scripting on the order confirmation, or redirect to an external payment page. In those cases report the purchase server-side with the same order number. The journey then stays complete. > **Note:** This is particularly true for Shopify: no custom script runs on the payment pages, so a snippet in the theme measures nothing there. The Metrunio app solves this (see “How do I set up Metrunio in Shopify?”). ## Also asked - Install tracking in WordPress - Install tracking in WooCommerce - Install Metrunio on Shopify - Shopware head code - Shopware plugin - Webflow custom code ## Related - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/shopware-plugin - https://bench.metrunio.com/en/help/wordpress-plugin - https://bench.metrunio.com/en/help/snippet-einbauen - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/single-page-app - https://bench.metrunio.com/en/help/shop-bestelldaten-senden - https://bench.metrunio.com/en/help/stripe-und-paypal --- --- slug: server-events-api title: "How do I report conversions server-side?" category: installation locale: en updated: 2026-10-17 keywords: ["Server Events API","server-side","backend","CRM","shop","REST"] questions: ["How do I send events from my shop, CRM or backend?","Server-side tracking","Conversion API","Send events from the backend","How do I send an order or lead?","Which address do I send server events to?","What is the host of the Server Events API?","Does the event_id have to be unique across all websites?"] url: https://bench.metrunio.com/en/help/server-events-api --- # How do I report conversions server-side? **How do I send events from my shop, CRM or backend?** Through POST /v1/server/events to the collector, with the server key in the authorization header. The portal shows the address and the ready-made call for your website under “Setup” on the “Server Events API” tab. The call is independent of the browser and therefore robust against ad blockers and short-lived cookies. | Method | Path | Purpose | | --- | --- | --- | | POST | /v1/server/events | events and conversions, signature optional | | POST | /v1/webhooks/conversions | webhooks, signature required | Authenticate with authorization: Bearer or the header x-metrunio-server-key. The server key has scope “server” and is bound to exactly one website. You create it in “Setup” on the “Server Events API” tab, where you also renew and revoke it. You send to the collector, not to the product API. Its address appears on the same tab in the ready-made call for your website; the example below uses `$METRUNIO_COLLECTOR` in its place. If your own measurement domain is in operation, the tab shows it and the call goes there. ## Example ```bash curl -X POST "$METRUNIO_COLLECTOR/v1/server/events" \ -H "authorization: Bearer $METRUNIO_SERVER_KEY" \ -H "content-type: application/json" \ -d '{ "site_id": "site_demo_shop", "events": [{ "event_id": "order-12345", "event_type": "purchase", "occurred_at": "2026-08-12T10:15:00Z", "order_id": "12345", "value": "149.90", "currency": "EUR", "consent_state": "granted", "consent_purposes": ["analytics", "marketing"] }] }' ``` ## Response ```json { "received": 1, "accepted": 1, "duplicates": 0, "rejected": 0, "blocked": 0, "results": [{ "eventId": "order-12345", "status": "accepted" }] } ``` Partial failures are possible: one invalid event does not discard the whole batch. The response states a status per event and, on failure, the reason. The event_id makes a report safe to retry: if the same event_id arrives again from a server for the same website and environment, it does not count twice and the response says DUPLICATE_EVENT. So derive it from your system, for example `order-12345`. Two websites, test and production may use the same event_id, and an event_id from the browser never takes up one of your server’s. ## Linking to the journey To connect the server-side conversion with website contacts, pass at least one shared identifier: anonymous_id, session_id, click_id or an already pseudonymised user_id. Without a shared identifier the conversion stays visibly “unattributed”; it is not guessed. A funnel step of an application takes the same route: `event_type: "goal"` with `goal_key` and `user_id`, event ID such as `customer-4711-shop_created`. It counts once per customer; without a customer identifier it is rejected. An unknown key creates the definition in the portal automatically. Report a subscription payment as a purchase with its own order number, plus `subscription_id` and `subscription_renewal: true`. It is attributed according to the first order of the same subscription and never counts as a new customer. The article on subscription renewals explains the details. > **Caution:** Consent applies server-side too. Pass consent_state and consent_purposes. For journeys and ad attribution an event needs matching consent; without it the event is rejected. The exception is purchases and refunds without a decision (unknown): they are stored for revenue reconciliation, without browser, customer or advertising identifiers, and appear as not attributed. After a refusal (denied) this applies only with the additional instruction for revenue reconciliation. The details are in the article on consent for server events. ## Also asked - Server-side tracking - Conversion API - Send events from the backend - How do I send an order or lead? - Which address do I send server events to? - What is the host of the Server Events API? - Does the event_id have to be unique across all websites? ## Related - https://bench.metrunio.com/en/help/server-events-signatur - https://bench.metrunio.com/en/help/webhooks-conversions - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet - https://bench.metrunio.com/en/help/funnel-schritte-einbauen - https://bench.metrunio.com/en/help/eigene-messdomaene - https://bench.metrunio.com/en/help/abo-folgezahlungen --- --- slug: server-events-signatur title: "How do I sign server-side requests?" category: installation locale: en updated: 2026-10-12 keywords: ["signature","HMAC","replay","security","webhook","nonce"] questions: ["How does the HMAC signature and replay protection work?","Compute HMAC signature","Replay protection","How do I secure the webhook?"] url: https://bench.metrunio.com/en/help/server-events-signatur --- # How do I sign server-side requests? **How does the HMAC signature and replay protection work?** Send the header x-metrunio-signature with a timestamp and an HMAC-SHA256 over ".", computed with the server key. The time window is five minutes and each signature is accepted exactly once. ```text x-metrunio-signature: t=,v1= v1 = HMAC-SHA256(server_key, ".") ``` - Sign the raw body, byte for byte, before any reformatting. - The timestamp must be at most five minutes in the past or future. - Each signature is accepted only once; a repeat yields REPLAY_DETECTED. - For /v1/server/events the signature is optional; for /v1/webhooks/conversions it is required. > **Caution:** If a framework reformats the body before signing (for example by re-serialising the JSON), the signature no longer matches. Sign exactly the bytes you send. ## Also asked - Compute HMAC signature - Replay protection - How do I secure the webhook? ## Related - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/webhooks-conversions - https://bench.metrunio.com/en/help/api-keys-rotieren --- --- slug: webhooks-conversions title: "Can my system report conversions by webhook?" category: installation locale: en updated: 2026-10-11 keywords: ["webhook","conversion","signature","integration"] questions: ["When do I use the webhook instead of the Server Events API?","Set up a webhook","Conversions by webhook","Difference between webhook and API"] url: https://bench.metrunio.com/en/help/webhooks-conversions --- # Can my system report conversions by webhook? **When do I use the webhook instead of the Server Events API?** The endpoint POST /v1/webhooks/conversions is meant for systems that fire a webhook of their own rather than letting you program an API call. It always requires a valid signature. | | Server Events API | Webhook | | --- | --- | --- | | Path | /v1/server/events | /v1/webhooks/conversions | | Signature | optional | required | | Several events per call | yes | yes | | Typical trigger | your own backend code | an event in a third-party system | The rules are the same: the same event schema, the same idempotency through the event ID, the same consent check. A shared identifier is needed here too, so the conversion lands in a journey. ## Also asked - Set up a webhook - Conversions by webhook - Difference between webhook and API ## Related - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/server-events-signatur - https://bench.metrunio.com/en/help/webhooks-ausgehend --- --- slug: webhooks-ausgehend title: "Can Metrunio notify my system?" category: installation locale: en updated: 2026-10-15 keywords: ["webhook","outgoing","CRM","Zapier","Make","signature","event"] questions: ["How do I get new orders, refunds and alerts into my CRM by webhook?","Outgoing webhook","Send conversions to my CRM","Report new orders to my own system","Connect Zapier","Connect Make","Verify the webhook signature","Receive events from Metrunio"] url: https://bench.metrunio.com/en/help/webhooks-ausgehend --- # Can Metrunio notify my system? **How do I get new orders, refunds and alerts into my CRM by webhook?** By webhook, from Growth: under “Data connections → Webhooks” you enter an https address and choose the events. Metrunio calls it for every new order or lead, refund, alert and completed cost sync, signed. It carries no browser or customer identifier, but it does carry the order or lead identifier, value and time, and these can be personal data. This is the opposite direction to “Can my system report conversions by webhook?”: there your system reports to Metrunio, here Metrunio reports to your system. Webhooks come with Growth and above, together with the read API and MCP. | Event | When | What it contains | | --- | --- | --- | | conversion.created | an order, lead or funnel step has been counted | ID, type, time, website, order or lead ID, value, set value, currency | | conversion.refunded | a refund has been booked | conversion ID, order number, refunded amount, total of all refunds, status | | alert.triggered | an alert has fired | kind of alert and its figures | | cost_sync.completed | a cost sync has taken over figures | platform, period, rows taken over and rows not matched | ```json { "id": "conversion:5f0c…", "type": "conversion.created", "created_at": "2026-10-10T09:41:00.000Z", "data": { "conversion_id": "5f0c…", "type": "purchase", "order_id": "10045", "value": 89.9, "set_value": 0, "currency": "EUR", "environment": "production" } } ``` ## Verifying the signature Every delivery carries the x-metrunio-signature header with t=,v1=. v1 is HMAC-SHA256 over "." with your signing secret, built as for incoming requests. Verify the signature on the raw body before processing it, and discard deliveries whose timestamp is older than five minutes. ```javascript import { createHmac, timingSafeEqual } from 'node:crypto'; export function verify(header, rawBody, secret) { const parts = Object.fromEntries(header.split(',').map((part) => part.split('='))); if (Math.abs(Date.now() / 1000 - Number(parts.t)) > 300) return false; const expected = createHmac('sha256', secret).update(`${parts.t}.${rawBody}`).digest(); const received = Buffer.from(parts.v1 ?? '', 'hex'); return received.length === expected.length && timingSafeEqual(received, expected); } ``` The portal shows the signing secret exactly once, when you create the webhook. If it gets lost, renew it with “Renew secret”; the old one stops working. ## Delivery and retries - A 2xx response counts as delivered. Otherwise Metrunio retries after 1, 5, 15 and 60 minutes, then after 3, 6 and 12 hours; after 24 hours it gives up. - Every attempt carries the same ID (id in the body, x-metrunio-delivery in the header). Process an event only once. - Ten seconds per attempt. Metrunio does not follow redirects. - Only https on port 443. Metrunio cannot reach addresses in your own network (localhost, private addresses). - “Send test delivery” sends a signed ping event to the address; the log shows the last 50 deliveries. > **Note:** The payload contains no browser or customer identifier, no click ID and no page address. It does contain the order or lead identifier, value and time, and through them a person can be found in your shop or CRM; treat the deliveries as personal data for that reason. If you need the channel and campaign of an order, ask the read API with the conversion ID. - Production data only: a live test of your setup does not trigger a webhook. - At most five webhooks per company. - The log is kept for 30 days. Metrunio keeps the content of a delivery only until it has been delivered, given up or withheld. - If you erase the data for an order number under "Privacy" or carry out an objection, Metrunio discards pending deliveries for it, retries included. The same applies when a visitor withdraws consent and the order is deleted as a result. The log then shows the delivery as "not sent (privacy)". - Before every attempt Metrunio also checks whether the order number has been suppressed or the order deleted in the meantime. If so, nothing goes out. - Deliveries that had already gone out are recorded when the request is carried out: endpoint, address and time go into the change log entry of the request (180 days) and into the API response. That lets you inform the recipient under Art. 19 GDPR. The delivery log itself is kept for 30 days. - If your plan drops below Growth, no new deliveries go out; the webhooks stay in place. Zapier and Make accept webhooks through a module of their own (“Webhooks by Zapier” at Zapier, “Webhooks” at Make). Enter the address it gives you here. ## Also asked - Outgoing webhook - Send conversions to my CRM - Report new orders to my own system - Connect Zapier - Connect Make - Verify the webhook signature - Receive events from Metrunio ## Related - https://bench.metrunio.com/en/help/webhooks-conversions - https://bench.metrunio.com/en/help/server-events-signatur - https://bench.metrunio.com/en/help/alarme-in-slack-und-teams - https://bench.metrunio.com/en/help/tarife --- --- slug: sdk-api title: "What does the tracking SDK offer?" category: installation locale: en updated: 2026-10-13 keywords: ["SDK","JavaScript","API","track","identify","conversion"] questions: ["Which JavaScript calls are available?","JavaScript API","metrunio.track","How do I send a custom event?","SDK documentation"] url: https://bench.metrunio.com/en/help/sdk-api --- # What does the tracking SDK offer? **Which JavaScript calls are available?** The SDK provides init, setConsent, page, track, identify, conversion, goal and reset, plus paymentReference for Stripe and PayPal, fillForm for forms, and renderSurvey and survey for the post-purchase question. It loads asynchronously, queues calls made before it loads, and sends events in batches. ```javascript metrunio.init({ siteId, writeKey, endpoint, consent, autoPageviews, testMode, debug }); metrunio.setConsent({ analytics: true, marketing: true }); metrunio.page({ area: 'home' }); metrunio.track('add_to_cart', { product: 'abc', price: 24.9 }); metrunio.identify('customer-4711'); metrunio.conversion({ orderId: '12345', value: 149.9, currency: 'EUR' }); metrunio.goal('shop_created'); // funnel step, counts once per customer metrunio.paymentReference(); // reference for Stripe and PayPal, only with consent metrunio.renderSurvey('#metrunio-frage', { orderId: '12345' }); // post-purchase question on the thank-you page metrunio.survey({ orderId: '12345', answer: 'podcast_radio' }); // answer from your own interface metrunio.fillForm('#enquiry'); // lead ID and origin into the form metrunio.reset(); ``` ## Behaviour - Asynchronous loading; calls made before it loads go into window.metrunioQueue and are replayed afterwards. - Batched sending: ten events or 1.5 seconds by default; navigator.sendBeacon when the page unloads. - Up to three retries with backoff; after that the batch stays local and is resent on the next page view. - The event ID is created before sending, so retries stay idempotent. - Without marketing consent, advertising events never leave the device. - No fingerprinting: the pseudonymous ID is a random first-party value in local storage. - A custom event gets its name through `event_name`: `metrunio.track('custom', { event_name: 'newsletter_signup' })`. Letters, digits and `_ . : -`, at most 64 characters; that is how it appears in a journey’s visit history. ## Console error codes | Code | Meaning | | --- | --- | | CONFIG_INCOMPLETE | siteId, writeKey or endpoint missing, or the placeholder still stands in place of the write key | | DOUBLE_INIT | init() called a second time, usually because of a double installation; the first call applies | | NOT_INITIALIZED | call before init() | | CONVERSION_ORDER_ID_MISSING | purchase without an order number | | GOAL_KEY_MISSING | funnel step without a key | | GOAL_KEY_INVALID | key with spaces, accented letters or special characters other than _ . and -, or longer than 64 characters; the SDK lowercases capital letters itself | > **Note:** debug: true logs every SDK decision to the browser console. That is particularly useful for seeing why an event was not sent for lack of consent. ## Also asked - JavaScript API - metrunio.track - How do I send a custom event? - SDK documentation ## Related - https://bench.metrunio.com/en/help/snippet-einbauen - https://bench.metrunio.com/en/help/single-page-app - https://bench.metrunio.com/en/help/welche-events-gibt-es - https://bench.metrunio.com/en/help/funnel-schritte-einbauen - https://bench.metrunio.com/en/help/nachkauf-frage - https://bench.metrunio.com/en/help/herkunft-im-formular --- --- slug: single-page-app title: "How do I measure a single-page app?" category: installation locale: en updated: 2026-10-12 keywords: ["SPA","single page app","React","Vue","Next.js","router","page"] questions: ["What do I do if route changes without a reload are not counted?","React Router tracking","SPA page views","Integrate with Vue or Next.js"] url: https://bench.metrunio.com/en/help/single-page-app --- # How do I measure a single-page app? **What do I do if route changes without a reload are not counted?** With automatic page views (autoPageviews, on by default) the SDK also counts route changes without a reload: it notices every address change through pushState, replaceState and the back button. Call metrunio.page() yourself only if your router switches views without changing the address, or if you have turned autoPageviews off. 1. Include the snippet or GTM tag once in your layout, as usual. 2. Leave autoPageviews on. The SDK then measures the first page view and every further one where the address changes. 3. If your router switches views without changing the address, call metrunio.page() there. With autoPageviews on, do not also call it on every address change: the same page view could then count twice. 4. Keep reporting conversions through metrunio.conversion() or server-side. 5. Report funnel steps of an application through metrunio.goal(), after a single metrunio.identify() at sign-in and not on every route change. A second call of the same step does not count again. > **Caution:** Do not call init() again on every route change. The SDK then reports DOUBLE_INIT. One init call per page load is enough. ## Also asked - React Router tracking - SPA page views - Integrate with Vue or Next.js ## Related - https://bench.metrunio.com/en/help/sdk-api - https://bench.metrunio.com/en/help/snippet-einbauen - https://bench.metrunio.com/en/help/funnel-schritte-einbauen --- --- slug: erlaubte-domains title: "Why do I have to allow domains?" category: installation locale: en updated: 2026-10-17 keywords: ["domain","allowed domains","DOMAIN_NOT_ALLOWED","origin","staging"] questions: ["What does DOMAIN_NOT_ALLOWED mean and how do I add a domain?","DOMAIN_NOT_ALLOWED","Allow a domain","Measure a staging environment","Add a subdomain","Remove a domain","How do I remove an allowed domain?","Can someone misuse my write key?"] url: https://bench.metrunio.com/en/help/erlaubte-domains --- # Why do I have to allow domains? **What does DOMAIN_NOT_ALLOWED mean and how do I add a domain?** The write key is visible in your page source; to stop a foreign website using it in its visitors’ browsers, the collector checks the origin of the request. If the domain is not in the allowed list, the event is rejected with DOMAIN_NOT_ALLOWED. A request from outside a browser is not stopped by this check, so it is best to report purchases from your server as well. 1. Open “Setup” and go to “Websites and allowed domains”. Below the table you find “Change allowed domains”; if you have several websites, choose the one in question there. 2. Enter the domain without https:// and without a path, and click “Add domain”. Repeat this for every domain that should be measured, a staging address for example. 3. The change takes effect within 30 seconds. 4. Check in the live test that events arrive again. Subdomains of an allowed domain are included: if example.com is on the list, Metrunio also accepts www.example.com and shop.example.com. Not the other way round: if only www.example.com is listed, nothing arrives from example.com. “Remove” next to a domain takes it off the list again. Metrunio then accepts nothing more from the browser from there or from its subdomains; what has already been measured stays. The primary address you created the website with always stays allowed and cannot be removed. The Admin role can change domains. > **Note:** Add your test environment if it should be measured, and set testMode: true there so the data does not change your reports. ## What the check does not do The origin check protects against foreign websites in a browser, not against forged reports. A program outside a browser sets the origin as it likes or leaves it out, and the collector accepts requests without an origin because servers do not send one. Anyone who copies your write key from the page source can therefore report events, purchases included. > **Caution:** So report purchases through the Server Events API or a plugin as well. When your server reports a purchase, value and currency come from the server, even if someone reported the same order number through the browser before; “Data status” then lists ORDER_VALUE_FROM_SERVER. Without a server report, Metrunio cannot tell a forged browser purchase from a real one. ## Also asked - DOMAIN_NOT_ALLOWED - Allow a domain - Measure a staging environment - Add a subdomain - Remove a domain - How do I remove an allowed domain? - Can someone misuse my write key? ## Related - https://bench.metrunio.com/en/help/site-id-und-write-key - https://bench.metrunio.com/en/help/warum-keine-pageviews - https://bench.metrunio.com/en/help/error-codes --- --- slug: doppelte-installation title: "How do I fix a double installation?" category: installation locale: en updated: 2026-10-17 keywords: ["double","DOUBLE_INIT","deduplication","cache"] questions: ["What does it mean if tracking loads twice?","DOUBLE_INIT","Tracking installed twice","Are events counted twice?"] url: https://bench.metrunio.com/en/help/doppelte-installation --- # How do I fix a double installation? **What does it mean if tracking loads twice?** Usually the snippet is installed in addition to a GTM tag. Metrunio catches this: the second load hands over to the tracking that is already running, so nothing counts twice and no call is lost. Remove one of the two anyway and clear the cache; if they name different websites, Metrunio only measures for the one that loads first. 1. Check whether the snippet is installed in addition to the GTM tag. 2. Remove one of the two. 3. Clear the cache of your website, and of your CDN. 4. Reload your website: DOUBLE_INIT no longer appears in the browser console. > **Caution:** If both installations name the same website, there is still only one tracking, with the settings of the one that loads first; of the second installation’s settings, Metrunio only adopts a consent decision included in it. If they name a different website or a different write key, Metrunio measures only with the one that loads first and takes nothing from the second. Which one loads first depends on the loading order. In both cases the console reports DOUBLE_INIT and names settings that do not apply. If the snippet still contains the placeholder YOUR_WRITE_KEY, it does not start at all, and the GTM tag measures on its own. ## Also asked - DOUBLE_INIT - Tracking installed twice - Are events counted twice? ## Related - https://bench.metrunio.com/en/help/snippet-einbauen - https://bench.metrunio.com/en/help/gtm-verbinden - https://bench.metrunio.com/en/help/health-center --- --- slug: shop-bestelldaten-senden title: "How do I send cart, new customers and margin from my shop?" category: installation locale: en updated: 2026-10-17 keywords: ["cart","items","new customer","contribution margin","margin","cost of goods","net value","ecommerce","shop"] questions: ["How do I pass line items, the net value, the cost of goods and whether it was a new customer?","Send cart data to Metrunio","Track order line items","Measure new versus returning customers","Contribution margin instead of revenue","ROAS on margin","Pass cost of goods","Product-level reporting"] url: https://bench.metrunio.com/en/help/shop-bestelldaten-senden --- # How do I send cart, new customers and margin from my shop? **How do I pass line items, the net value, the cost of goods and whether it was a new customer?** On checkout, `tracker.conversion(…)` and the Server Events API also accept `newCustomer`, the breakdown of the order value (`netValue`, `taxValue`, `shippingValue`, `discountValue`, `costOfGoods`) and the cart line items (`items`). All fields are optional; without them Metrunio measures as before. With them you get new-customer cost, contribution margin and product-level reporting. A 200 euro order says little on its own. Whether it came from a new customer, and how much is left after the cost of goods, decides whether the advertising was worth it. Your shop knows both; Metrunio does not. So you can send it along. ## From the browser ```javascript metrunio.conversion({ orderId: '12345', value: 238.00, // what the customer pays currency: 'EUR', newCustomer: true, // first order by this customer? netValue: 200.00, // goods value excluding tax and shipping taxValue: 38.00, shippingValue: 0, costOfGoods: 80.00, // cost of goods items: [ { productRef: 'CHAIR-01', sku: 'CHAIR-01-BLUE', name: 'Nordlicht chair', quantity: 1, unitPrice: 200.00, unitCost: 80.00, lineValue: 200.00 }, ], }); ``` > **Note:** If your shop redirects to an external payment page, report the purchase server-side through the Server Events API, with the same fields and the same order number. Then report it only there, not from the browser as well. ## What each field gives you | Field | What you get | | --- | --- | | newCustomer | New-customer cost: what a new customer cost, rather than only what an order cost | | netValue and costOfGoods | Contribution margin: the campaign is measured against what is left, not against revenue | | taxValue, shippingValue | ROAS without tax and shipping in the numerator | | items | Reporting by product, category and brand | ## Four rules worth knowing - Report each purchase with its order number. It then counts once per website, even when browser and server both report it. Value and currency come from the server as soon as it reports; “Data status” lists ORDER_ALREADY_COUNTED or, if the value differed, ORDER_VALUE_FROM_SERVER. Without an order number Metrunio recognises duplicates only by event_id, and that applies per route: the tracking script assigns its own, and even the same event_id from browser and server counts as two reports. The same purchase sent both ways then counts twice. - A cost of goods (costOfGoods) without a net value (netValue) is rejected. A margin on the gross value would count sales tax as profit. The message appears in the browser console immediately. - Metrunio does not calculate anything inside cart line items. If lineValue is missing it stays empty: two units at 25 euros are not necessarily 50 euros, and your discount is your calculation. - If you say nothing about newCustomer, Metrunio derives the answer from its own measurements and labels it as such (“measured” rather than “from the shop”). That is the weaker statement, because we do not know the time before the first measurement. ## Refunds Send a refund with the same order number and it reduces the value of the order. Include netValue and costOfGoods of the refunded part and the contribution margin stays correct. For a full refund the amount is enough: everything is back. For a partial refund without those figures Metrunio does not extrapolate the share: the order is excluded from contribution margin totals and reported there with a count. How Metrunio matches a refund to its purchase, how long it waits for a purchase that has not arrived yet, and how you can tell that it has been applied is covered in “How do refunds reach Metrunio?”. > **Note:** All fields are optional. A shop that sends only an order number and an amount measures just as reliably as before. It simply misses the reports that rest on these figures. ## Also asked - Send cart data to Metrunio - Track order line items - Measure new versus returning customers - Contribution margin instead of revenue - ROAS on margin - Pass cost of goods - Product-level reporting ## Related - https://bench.metrunio.com/en/help/shopsysteme - https://bench.metrunio.com/en/help/wordpress-plugin - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/erstattungen - https://bench.metrunio.com/en/help/neukundenkosten-und-deckungsbeitrag - https://bench.metrunio.com/en/help/was-metrunio-nicht-tut --- --- slug: erstattungen title: "How do refunds reach Metrunio?" category: installation locale: en updated: 2026-10-13 keywords: ["refund","partial refund","chargeback","cancellation","order number","order_id","revenue","data quality"] questions: ["How do I report a refund, and how can I tell that it has been applied?","Refund does not show up in reports","Refund is not deducted","Report a refund to Metrunio","Report a partial refund","Refund sent before the purchase","How long does a refund wait for its purchase?","REFUND_WITHOUT_PURCHASE","Is a refund counted twice?","Is revenue before or after refunds?","Simulate a refund in the demo shop"] url: https://bench.metrunio.com/en/help/erstattungen --- # How do refunds reach Metrunio? **How do I report a refund, and how can I tell that it has been applied?** Your shop server reports a refund through the Server Events API as `refund`, with the same order number, environment and currency as the purchase. Metrunio then reduces the value of that order. If it finds no matching purchase for 24 hours, it does not apply the refund and deletes it. Under “Data status”, the finding REFUND_WITHOUT_PURCHASE then counts how many there were per website and day, without order numbers. A refund is a correction to a purchase, not a new measurement in the browser. Your shop server reports it through the Server Events API; a shop integration such as the Shopify app does this by itself. ```http POST /v1/server/events Authorization: Bearer { "site_id": "site_…", "events": [{ "event_id": "refund-12345-1", "event_type": "refund", "occurred_at": "2026-09-29T10:15:00Z", "order_id": "12345", "value": "10.00", "currency": "EUR" }] } ``` ## What “matching” means - The same order number as the purchase, character for character. “#1001” and “1001” are two orders. - The same environment: a test refund finds no purchase from production. - The same currency. A refund without an amount applies to the whole purchase and needs none. - A separate event_id per refund. The same event_id twice counts once; that protects against double delivery. Two partial refunds of the same amount therefore need two different event_ids. ## When the refund arrives before the purchase This happens: two webhooks overtake each other, a historical import runs in any order, or the purchase is stuck in a retry. Metrunio then waits up to 24 hours for the purchase: every half minute at first, later once an hour. When it arrives, the refund is applied as if it had come afterwards. The 24 hours count from the first processing attempt, not from receipt; after an outage the period does not start out already expired. If no matching purchase arrives in that time, Metrunio does not apply the refund and deletes it. Under “Data status”, the finding REFUND_WITHOUT_PURCHASE counts how many refunds were discarded this way per website and day. Metrunio keeps no order numbers or other identifiers for this, because such a refund often belongs to a purchase that could not be stored. You can find out which ones they were in your shop by the day. The most common cause is order numbers written differently for the purchase and the refund. If the purchase does arrive later, send the refund again with a new event_id. The same event_id counts as already received. ## How you can tell it has been applied - Conversions: the order shows as “refunded” or “partly refunded”, with the refunded amount. - Overview: “Revenue measured” is calculated after refunds; the tile’s explanation gives the amount before refunds and the total refunded. Attributed revenue and the figures per channel and campaign are also calculated after refunds. - Export and read API: the column “wert” (value) is the original purchase value, “erstattet” (refundedValue) the sum of refunds, and “status” says refunded or partially_refunded. Nothing is subtracted inside the column; the refund sits next to it, so you can reconcile both against your shop. > **Note:** Gross or net? value is what your shop reports as the order value: usually the amount the customer pays, including tax. You send the net value separately as netValue; how a refund reduces the contribution margin is covered in “How do I send cart, new customers and margin from my shop?”. ## In the demo shop The demo shop simulates refunds in the bundled demo tenant, in full or in part. It reports “Erstattung angenommen” (refund accepted) once the collector has accepted it; the demo shop speaks German only. The refund is applied when the order shows as refunded under “Orders & goals”. If the shop measures in your own tenant, the button is locked: there the tracking script reports the purchase from the browser, and refunds would come through your tenant’s Server Events API. The demo shop does not have the server key for that. ## Also asked - Refund does not show up in reports - Refund is not deducted - Report a refund to Metrunio - Report a partial refund - Refund sent before the purchase - How long does a refund wait for its purchase? - REFUND_WITHOUT_PURCHASE - Is a refund counted twice? - Is revenue before or after refunds? - Simulate a refund in the demo shop ## Related - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/shop-bestelldaten-senden - https://bench.metrunio.com/en/help/error-codes - https://bench.metrunio.com/en/help/shopsysteme --- --- slug: eigene-messdomaene title: "How do I measure over my own domain?" category: installation locale: en updated: 2026-10-13 keywords: ["measurement domain","CNAME","first-party","ad blocker","ITP","subdomain","cookie","metrunio_aid","DNS","certificate"] questions: ["How do I set up a custom measurement domain so ad blockers cost me less data?","own domain for tracking","set up CNAME for measurement","first-party tracking","get around ad blockers","less data loss from ITP","subdomain for tracking","What is the _acme-challenge record?","certificate for measurement domain is not issued","Can I delete the _acme-challenge record?","Do I have to replace the tracking code with Shopify?","measurement domain with the Shopify app","switch the measurement domain in Google Tag Manager","What do I do once my measurement domain is live?","cookie on your own domain","visitor identifier across subdomains","What do I have to say about metrunio_aid in the cookie banner?"] url: https://bench.metrunio.com/en/help/eigene-messdomaene --- # How do I measure over my own domain? **How do I set up a custom measurement domain so ad blockers cost me less data?** In “Setup” you enter a name such as gauge.your-domain.com, and Metrunio gives you three DNS records at once (two CNAME and one TXT). Once they are in place and a certificate has been issued for your name, the address goes live; with the snippet or Tag Manager you then switch your setup, while the Shopify app and the plugins for Shopware and WordPress switch themselves. Measurement then runs first-party and is cut less often by ad blockers and browser tracking protection. Some of your visitors block addresses that do not belong to your domain. What gets lost is not evenly distributed: it skews towards technically minded people and towards particular channels. A custom measurement domain reduces that loss. ## How to set it up 1. Have a website added. The measurement domain belongs to it; without a website the card shows this notice instead of the input field. 2. In the portal under “Setup”, enter a name, for example gauge.your-domain.com. Not your domain itself: your website lives there. 3. Create the three records shown at your DNS provider: a CNAME to our target host, a TXT record as proof and a CNAME under _acme-challenge for the certificate, that one without a proxy. With some providers, the provider creates all three in a single click (see below). 4. Wait. We keep checking; after you add the records it usually takes minutes, occasionally hours. 5. As soon as the address works, it goes live by itself and you get an email. What to do next depends on how Metrunio is set up on your site (see the next section). There is nothing to switch before that: your current setup keeps measuring. > **Note:** The TXT record is needed when your provider hides the CNAME, for example Cloudflare with the proxy switched on. There a DNS lookup shows an IP address instead of the chain, and without the TXT record there would be no way to prove the domain is yours. > **Note:** The third record (_acme-challenge) belongs to the certificate. Google uses it to check that the domain is yours before issuing a certificate for your name. Without it the proof still passes, but the address never goes live. ## After going live: depending on your setup The go-live email and “Setup” name the step for each way your website measures. If it measures in several ways, each of them applies. Until you have switched, your current setup keeps measuring over the shared address; nothing is lost. - Code snippet: replace the tracking code on your website. The code in “Setup” now names your address. - Google Tag Manager: the “Metrunio Tracking” template only loads scripts from the address it contained when you imported it. Download it again in “Setup”, import it in GTM over the existing template (Templates → Metrunio Tracking → ⋮ → Import), enter https:// followed by your address in the Metrunio tag’s “Collector address” field, and publish the container. - Shopify app: there is nothing for you to replace. The app switches the theme embed, the checkout pixel and the order reports to your address by itself. That happens at the latest the next time you open it in the Shopify admin, and earlier if your theme changes. Best open it once right away. - Plugins for Shopware and WordPress: there is nothing for you to replace. The plugin switches the snippet, the consent bridge and the order reports to your address by itself, within an hour at the latest or as soon as you open its settings. Cached pages carry the old address until the cache renews them and keep measuring over it until then; if you want it at once, clear the cache. - Server Events API: nothing changes for calls from your server. Ad blockers and browser tracking protection only act in the browser; the shared address keeps accepting your calls. You can switch, but you do not have to. > **Note:** No app switches the ad pixels and viewability tags in your campaigns, not even the Shopify app. They sit on other people’s pages; replace them so that pixel, tag and tracking code name the same address. > **Caution:** If you remove a live measurement domain, the same applies in reverse: its certificate is cleared away within an hour. Switch the tracking code and the GTM tag back first, and with Shopify open the app once afterwards. Until then your shop does not measure. ## One identifier across subdomains Through your measurement domain, Metrunio also sets the visitor identifier as a cookie on your domain (metrunio_aid), only with consent to analytics. www.your-domain.com and checkout.your-domain.com then see the same visitor, and someone who clears your site’s storage in their browser but keeps the cookies is recognised. The cookie is HttpOnly, lasts 13 months and disappears when consent is withdrawn or with metrunio.reset(). - The cookie only exists when your page sits under the same domain as the measurement domain: gauge.your-domain.com for www.your-domain.com and checkout.your-domain.com. Through the shared address, Metrunio sets none. - If the browser brings the cookie along, its identifier applies, and the SDK takes it over into its storage. - Without consent to analytics it is neither set nor read. If it arrives anyway, Metrunio removes it. > **Note:** Safari shortens cookies set through a measurement domain with a CNAME to seven days. If someone returns with Safari after more than a week, a new identifier begins. We promise nothing beyond that. Your visitors should be able to read this before they decide in the banner. So name metrunio_aid in your consent management under analytics and in your privacy notice: name, reach (all subdomains of your domain), purpose (linking visits and orders of the same browser, even after the site’s storage was cleared) and duration (13 months, seven days in Safari). > **Legal note:** The cookie carries the same identifier as the site’s storage and is only set with consent to analytics. A new data processing agreement or a checkbox of its own is not automatically needed for it. Whether your description of analytics covers the wider reach is for you to check as the controller. ## A path of its own for the SDK With the code from the setup, your website no longer loads the SDK from /v1/t.js but from a random path under your measurement domain, such as gauge.your-domain.com/3f9a1c7e2b4d.js. A freshly downloaded GTM template uses it too, and the WordPress plugin picks it up by itself once the domain is live. Older code keeps loading as before, as do the Shopware plugin and the Shopify app. > **Note:** The path changes where the script lives, not what it does: without consent it still measures nothing. We make no promise against ad blockers with it. ## Why it takes a moment Your browser connects to gauge.your-domain.com and expects a certificate for exactly that name. We request it as soon as the CNAME or TXT record is verified, and Google issues it once it sees the _acme-challenge record (usually within minutes, occasionally within an hour). Until then the tracking code, the template and the Shopify app keep naming the previous address: switching earlier would send the browser to an address whose certificate it rejects. That would be an outage, not progress. ## After going live: keep all three records The certificate is valid for 90 days and renews itself through the _acme-challenge record. If you delete it, your address keeps measuring at first, but renewal fails, and once the certificate expires it measures nothing. We therefore check regularly: if the record is missing, the certificate expires in less than three weeks, or the address does not respond, you get an email, and “Setup” shows what to do. ## Names that will not work - Your domain itself (your-domain.com). Your website’s record lives there, and a CNAME cannot coexist with any other record on the same name: your website would go down. - www, mail, smtp, mx and similar. They carry your website and your email; a CNAME there halts your operations. - A name someone else has already claimed with us. A hostname belongs to exactly one party in DNS. ## Without typing: your provider creates the records Below the records there is a “Check provider” button. It checks whether your DNS provider supports the Domain Connect standard and has enabled our template. If both are true you are taken there, sign in, and see what is to be created before you approve. Your provider creates all three records itself. Its window then closes and you are back in the portal: the card checks by itself and shows the new status as soon as we see the records (under a minute in our own test). If not, the button says so and you enter the records by hand. Which providers are covered is deliberately not listed here: the list changes, and a name that is here but does not apply there costs you a wasted attempt. > **Note:** Metrunio gets no access to your domain and no password. We only assemble the address on which you approve; everything else happens between you and your provider. Strato, United Domains, Hetzner, All-Inkl and DomainFactory do not support the standard. For their customers it stays with typing. That is the normal route. > **Caution:** Even this does not make measurement complete. Anyone using a resolver such as NextDNS or Pi-hole has a device that follows the CNAME chain and sees where it ends. The request is dropped before the browser is involved. That affects a small share, but not none, and no provider gets around it. ## Also asked - own domain for tracking - set up CNAME for measurement - first-party tracking - get around ad blockers - less data loss from ITP - subdomain for tracking - What is the _acme-challenge record? - certificate for measurement domain is not issued - Can I delete the _acme-challenge record? - Do I have to replace the tracking code with Shopify? - measurement domain with the Shopify app - switch the measurement domain in Google Tag Manager - What do I do once my measurement domain is live? - cookie on your own domain - visitor identifier across subdomains - What do I have to say about metrunio_aid in the cookie banner? ## Related - https://bench.metrunio.com/en/help/snippet-einbauen - https://bench.metrunio.com/en/help/adblocker - https://bench.metrunio.com/en/help/shopsysteme - https://bench.metrunio.com/en/help/gtm-verbinden - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/e-mails-und-newsletter - https://bench.metrunio.com/en/help/was-wird-gespeichert --- --- slug: funnel-schritte-einbauen title: "How do I report a funnel step?" category: installation locale: en updated: 2026-10-14 keywords: ["goal","identify","goal_key","funnel step","funnel","Server Events API","SDK","event ID","test step","SaaS"] questions: ["How do I send the steps of my funnel from the browser or the backend?","metrunio.goal","How do I send a goal event?","How do I report a funnel step from the backend?","Why do I need identify() before goal()?","Which event ID do I use for a funnel step?","How do I test a funnel step?","How do I set up a SaaS funnel in the assistant?"] url: https://bench.metrunio.com/en/help/funnel-schritte-einbauen --- # How do I report a funnel step? **How do I send the steps of my funnel from the browser or the backend?** In the browser with `metrunio.identify(userId)` once after sign-in and then `metrunio.goal('key')` per step; from the backend with `POST /v1/server/events` and an event of type `goal` carrying `goal_key` and `user_id`. Both routes are equivalent; a step without a customer identifier is rejected. A funnel step is an event of type `goal` with the key of the step and a customer identifier. Where it comes from does not matter: the SDK in the browser and the Server Events API produce the same event, with the same “once per customer” rule. Use the route where the step actually happens: sign-up where your backend creates the account; a completed setup dialog where it ends in the browser. ## In the browser ```javascript // once after sign-in: makes the customer the same across devices metrunio.identify('customer-4711'); // once per step; a second call for the same customer does not count again metrunio.goal('shop_created'); // with an amount if the event knows it: counts as revenue. // Without one, the acquisition value from the portal applies. metrunio.goal('first_payment', { value: 49, currency: 'EUR' }); ``` `identify()` comes before `goal()`, in the same page load or earlier: the SDK attaches the customer identifier to everything sent afterwards. Without identify() the step leaves with the pseudonymous browser ID. It is accepted, but counts per browser instead of per customer. The key is sent in lower case without spaces; an empty key yields `GOAL_KEY_MISSING` in the console. ## From the backend ```bash curl -X POST "$METRUNIO_COLLECTOR/v1/server/events" \ -H "authorization: Bearer $METRUNIO_SERVER_KEY" \ -H "content-type: application/json" \ -d '{ "site_id": "site_demo_app", "events": [{ "event_id": "customer-4711-shop_created", "event_type": "goal", "goal_key": "shop_created", "user_id": "customer-4711", "occurred_at": "2026-09-14T10:15:00Z", "consent_state": "granted", "consent_purposes": ["analytics"] }] }' ``` `$METRUNIO_COLLECTOR` is the address from the ready-made call on the “Server Events API” tab in Setup (see “How do I report conversions server-side?”). The `user_id` is the same customer number you pass to identify() in the browser; it is pseudonymised on receipt and never stored in clear text. If you already pseudonymise, send `user_id_hash`; it is also combined with your account’s key on receipt. A `goal` without `goal_key` or without a customer identifier is rejected, and the response names the field. Value and currency are optional. If you send them, the amount counts as revenue; if they are missing, the step’s acquisition value applies, separate from revenue. That is the default; the value logic of a step is set in the portal (see “What is a funnel step worth?”). ## The event ID Build the event ID from customer and step, for example `customer-4711-shop_created`. A repeated call (a job that runs again, a second click) is then harmless on two levels: the same event ID counts only once against the quota, and the same step counts only once per customer in the report. The SDK creates its own event IDs. ## Testing - In the portal under “Orders & goals”, every step has a “Send test step” button. The event lands in the test data and counts there immediately as a conversion of that step, not in the reports. - In the setup assistant, the step “Define a conversion” with the choice “Steps in an application (SaaS)” creates three funnel steps: `registriert`, `eingerichtet`, `erste_zahlung`. You can rename, add or retire them. - From your own system: send the step with `environment: "test"`, or in the SDK with `testMode: true`, and check it under “Orders & goals” with the “Test data” switch. > **Caution:** `goal` is an analytics event. Without analytics consent it does not leave the device in the browser, and server-side it is not stored without matching `consent_purposes`. Every step sent counts against the event quota. ## Also asked - metrunio.goal - How do I send a goal event? - How do I report a funnel step from the backend? - Why do I need identify() before goal()? - Which event ID do I use for a funnel step? - How do I test a funnel step? - How do I set up a SaaS funnel in the assistant? ## Related - https://bench.metrunio.com/en/help/funnel-schritte-messen - https://bench.metrunio.com/en/help/funnel-bericht-lesen - https://bench.metrunio.com/en/help/sdk-api - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/single-page-app - https://bench.metrunio.com/en/help/erste-conversion-testen - https://bench.metrunio.com/en/help/consent-serverseitig --- --- slug: herkunft-im-formular title: "How does the origin of an enquiry get into my CRM?" category: installation locale: en updated: 2026-10-15 keywords: ["form","hidden fields","CRM","lead","lead ID","UTM","gclid","contact form","Contact Form 7"] questions: ["Can Metrunio write source, campaign and an identifier into my contact form?","Fill hidden form fields","Pass UTM parameters to the CRM","Store the gclid in a contact form","How do I connect a CRM lead to its journey?","Hidden fields for HubSpot, Pipedrive or Salesforce","Where did this enquiry come from?","Assign a lead ID automatically","Does Metrunio fill the form without consent?","Why are the source fields in my form empty?","Write UTM parameters into forms without cookie consent"] url: https://bench.metrunio.com/en/help/herkunft-im-formular --- # How does the origin of an enquiry get into my CRM? **Can Metrunio write source, campaign and an identifier into my contact form?** Through your form, on every plan: give it the attribute `data-metrunio-lead`, and with consent to analytics the SDK fills the fields `metrunio_lead_id`, `metrunio_source`, `metrunio_medium`, `metrunio_campaign`, `metrunio_click_id` and `metrunio_click_platform`; without consent they stay empty unless you switch on “Source without consent as well” for the site. With the lead ID, the offline import finds the later deal from your CRM in the journey. For enquiries, measurement often ends at the form: the deal closes weeks later in the CRM, and by then nobody knows where the enquiry came from. That is why the SDK writes the origin and an identifier into the form itself. They travel with the enquiry into your CRM; with the deal, the identifier comes back through the offline import and connects it to the journey. ## Setting it up ```html
``` - The SDK fills the form on load, whenever consent changes, as soon as someone enters a field, and right before it is submitted. It adds missing fields as ``; an existing field with the same name is filled. - If you have a thank-you page, report the enquiry there with `metrunio.conversion({ type: 'lead' })`. Without an identifier of its own, the SDK takes the one from the form. - Without a thank-you page, write `data-metrunio-lead="submit"`. The SDK then reports the enquiry itself on submit, once per identifier. What counts is the submission, not your server’s response. - Fill forms that appear later with `metrunio.fillForm(form)`, passing the form or a selector such as `'#enquiry'`. ## The fields | Field | Content | Needs | | --- | --- | --- | | metrunio_lead_id | identifier of the enquiry, such as lead_3f2a…; valid for the session | consent to analytics | | metrunio_source | utm_source the visit started with | consent to analytics; without it only with “Source without consent as well”, then from this page’s address | | metrunio_medium | utm_medium, likewise | likewise | | metrunio_campaign | utm_campaign, likewise | likewise | | metrunio_click_id | the ad platform’s click ID, such as the gclid | consent to marketing | | metrunio_click_platform | google, meta, microsoft, tiktok, linkedin or metrunio | consent to analytics | Source, medium and campaign come from the address the visit started with, not from the page with the form. The SDK does not assign a channel in the browser: your origin rules in Metrunio do that, and your CRM gets the values as they were in the address. The whole journey hangs on the lead ID. ## Consent - Without consent to analytics, all fields stay empty. The SDK does not even read the page address for them. - It writes the click ID only with consent to marketing. Under statistics, the platform remains, just as Metrunio itself stores only the source of a click under statistics, not its ID. - After consent is withdrawn, the SDK empties the fields it filled itself. After `metrunio.reset()`, a new identifier begins. > **Legal note:** What arrives in your CRM, you process there as the controller. The fields end up there together with the name and email address of the enquiry and thereby become personal data, source, medium and campaign included. The lead ID connects a record in your CRM with a journey in Metrunio; describe this where your privacy policy describes the measurement, and clarify it with your data protection adviser. ## Text for your cookie banner For consent to analytics to cover this purpose, the description of the category should name it. Adapt it to your data flows and periods: “With your consent to analytics, we link the source and campaign of your visit to your enquiry in our CRM and to a sale reported later, using an enquiry identifier. This lets us see which visits lead to enquiries and sales. We use platform click identifiers for this only where you have also given the corresponding marketing consent.” You do not need an extra checkbox for this. ## Source without consent as well In “Setup”, each site has the setting “Source without consent as well” under “Source in forms”. It is off. If you switch it on, the SDK writes source, medium and campaign from the current page’s address into the form without consent to analytics, as it did before 12 October 2026. Nothing more: no lead ID, no click ID, no platform, nothing in the browser’s storage. With consent, the setting changes nothing. - The setting appears in the embed code as `formSourceWithoutConsent: true`. Copy the code again after switching. In the GTM template it is the box “Write the source into forms without consent as well”; in the template file from the portal, which is in German, it reads “Herkunft auch ohne Einwilligung in Formulare schreiben” and is pre-filled with the site’s setting. - The apps and plugins for Shopify, Shopware and WordPress do not pick up the setting. There, the fields stay empty without consent. - If you load the SDK yourself, pass the option to `metrunio.init`. > **Legal note:** You justify the consent-free operation yourself; Metrunio does not make this decision for you. Two processes need to be considered separately: the SDK reads the address in the browser, which is access to the end device (Section 25 TDDDG). And your CRM links the source to a named enquiry. Both need a legal basis, and both belong in your privacy policy. That it is only UTM data is not enough on its own. Before switching it on, record which exception under Section 25(2) TDDDG covers the access and which legal basis under the GDPR covers the matching in your CRM; if you find no sound exception, only this setting stays off, not source in forms as a whole. This note is not legal advice; clarify the setting with your data protection adviser before switching it on. ## Form plugins and embedded forms - Contact Form 7: add the fields as hidden fields, for example `[hidden metrunio_lead_id]`, and include them in the mail with `[metrunio_lead_id]`. A small script in the page footer sets the attribute: `document.querySelectorAll('.wpcf7-form').forEach((f) => f.setAttribute('data-metrunio-lead', ''));`. - Many form plugins and form services only store fields they created themselves, and some show the form in an iframe the SDK cannot reach. Add hidden fields with exactly these names there and check with a test enquiry whether the values arrive in your CRM. - If they do not, assign the identifier yourself: report the enquiry with `metrunio.conversion({ type: 'lead', leadId })` and an identifier your CRM already knows. ## And back When an enquiry turns into a deal, export it from your CRM with the lead ID in the `lead_id` column and import it as an offline conversion under “Orders & goals”. Metrunio finds the journey for that identifier and recalculates the attribution. ## Also asked - Fill hidden form fields - Pass UTM parameters to the CRM - Store the gclid in a contact form - How do I connect a CRM lead to its journey? - Hidden fields for HubSpot, Pipedrive or Salesforce - Where did this enquiry come from? - Assign a lead ID automatically - Does Metrunio fill the form without consent? - Why are the source fields in my form empty? - Write UTM parameters into forms without cookie consent ## Related - https://bench.metrunio.com/en/help/offline-conversions-importieren - https://bench.metrunio.com/en/help/sdk-api - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/wie-entsteht-journey - https://bench.metrunio.com/en/help/snippet-einbauen --- --- slug: prueftafel title: "How do I check on my website what the tracking script does?" category: installation locale: en updated: 2026-10-16 keywords: ["debug panel","debugger","debug","debug link","live test","metrunio-debug"] questions: ["Is there a debugger for tracking right on the website?","Live debugger","Debug tracking on the website","Why are no events arriving?","Does my shop send the order?","Are my UTM parameters recognised?","Debug mode for the tracking script","Debug link expired"] url: https://bench.metrunio.com/en/help/prueftafel --- # How do I check on my website what the tracking script does? **Is there a debugger for tracking right on the website?** Use the debug panel. Under “Setup → Live test” you create a debug link that is valid for one hour. Open your website with it, and a panel in the top right shows whether the script runs, what the consent status is, which events it sent and how Metrunio responded. Only people who open the link see it. ## How to open the panel 1. Open “Setup” and the “Live test” card there. 2. Under “Debug panel on your website”, choose “Create debug link”. 3. “Open website with debug panel” opens the start address of your website with the link. For another page, copy the link and change the path; keep the part with metrunio-debug. 4. Make a choice in the banner and click through, for example up to the order. The panel refreshes every second. ## What the panel shows | Section | What you see | | --- | --- | | Tracking script | Whether it runs, site ID, measurement address, test or live mode, waiting events and whether the session has been counted. If it does not start, the reason is shown, for example a placeholder instead of the write key. | | Consent | The decision as the script knows it, separately for analytics and marketing. With the consent bridge, also the detected tool, the entries it looks for and notes as in the consent check. | | Events | Every event on this page with its state: waiting for the decision, dropped, accepted, or rejected with an error code. | | Campaign | The campaign identifiers in the address, that is UTM parameters and the click ID with its platform, and what the session started with. | ## Good to know - The link is valid for one hour and only for the website you created it for. If the page runs a script with another site ID, the panel says so and shows nothing else. - A bare parameter such as metrunio-debug=1 shows nothing. Visitors to your website never see the panel, and without a valid link the script does not load it. - The panel stays open as you click on, because the script carries the link into the address of the next page. If your website sends no referrer or the checkout is on another domain, open the copied link on the page you want to check. - The panel only reads what the script does in your browser. It sends nothing and stores nothing on your device. The link does not end up in your data either: the script removes it from the address and the referrer before it sends events. - If the Content Security Policy of your website does not allow the measurement address, the panel does not load, and the browser console reports DEBUG_PANEL_UNAVAILABLE. The tracking script itself needs the same permission. - On German-language pages the panel shows German, otherwise English. > **Note:** The debug panel complements the live test. The live test shows in the portal what arrives at Metrunio; the panel shows on the website what happens before that. If nothing arrives in the live test, the panel usually tells you why. ## Also asked - Live debugger - Debug tracking on the website - Why are no events arriving? - Does my shop send the order? - Are my UTM parameters recognised? - Debug mode for the tracking script - Debug link expired ## Related - https://bench.metrunio.com/en/help/consent-status-pruefen - https://bench.metrunio.com/en/help/consent-bridge - https://bench.metrunio.com/en/help/health-center - https://bench.metrunio.com/en/help/error-codes --- --- slug: tracking-pruefer title: "Do click IDs get lost in a redirect?" category: installation locale: en updated: 2026-10-16 keywords: ["redirect","gclid","fbclid","msclkid","ttclid","UTM","consent tool","tag","checker"] questions: ["How do I check whether gclid, fbclid and UTM parameters reach my website?","Tracking checker","gclid lost after a redirect","fbclid missing after a redirect","Do UTM parameters survive a redirect?","Redirect from http to https drops parameters","Which consent tool does my website use?","Is my tracking installed correctly?"] url: https://bench.metrunio.com/en/help/tracking-pruefer --- # Do click IDs get lost in a redirect? **How do I check whether gclid, fbclid and UTM parameters reach my website?** The tracking checker on the website at /en/tracking-checker shows you, without an account: it calls your address with test values for gclid, fbclid, msclkid, ttclid and the UTM parameters, follows up to five redirects and shows at which one a value gets lost. It also names the consent tool and tracking tags found in the page’s HTML. When someone clicks an ad, the ad adds its ID to the address: gclid for Google, fbclid for Meta, msclkid for Microsoft, ttclid for TikTok, often with UTM parameters as well. The tags on the landing page read them there. If your website redirects first, from http to https, from your-shop.com to www.your-shop.com or into a language folder, and drops the part after the question mark on the way, none of it arrives. The page still loads, which is why it rarely gets noticed. ## How to check 1. Open the tracking checker at /en/tracking-checker. 2. Enter the destination URL of one of your ads, exactly as it appears in the ad. 3. Under “Redirects”, read which step drops which values, and under “Test values”, what arrives at the last address. If the page says “The tracking checker is not available right now” instead of showing the form, we have switched it off for the time being. Try again later. ## If values get lost - Set up the redirect so it keeps everything after the question mark. - Or point your ads straight at the last address in the chain. Then there is no redirect left that could drop anything. - Check again afterwards. ## What the checker reads and what it does not On the last page it reads the HTML your server delivers and names known consent tools and tracking tags, including the Metrunio installation code. It does not run JavaScript. Anything a script loads later, such as tags from Google Tag Manager or through Shopify’s pixel interface, is not in the HTML and so does not appear in the list. Whether a tag actually fires only shows on a visit in a browser. The result shows the host, the path and the test values of every address. Other values after the question mark appear as “…”, such as a session ID or the token of a sign-in link; the check does not need them. The same goes for a part of the path that looks like an identifier, such as the token in /reset/aZ3kP9qL2mX7vB4nR8tW. Words, slugs and short numbers such as /en/products/blue-shoes-42 stay as they are. > **Note:** The checker sends no cookies. A shop that sets a cookie on the first visit and then redirects back therefore shows up as a circle of redirects, even though the page loads in a browser. If the last address answers with 403 or 503, protection against automated requests is often behind it. ## No account, nothing kept The checker needs no account and does not ask for contact details. Do not enter confidential links, access tokens or personal data: our servers call the address you enter. We process the address and the result only for the check and do not keep them. All we count is how often checks come from one connection, using a checksum of the IP address that is forgotten after ten minutes. Only public addresses on ports 80 and 443 are called, for the address you enter and for every redirect. In your server’s logs the checker shows up as MetrunioTrackingCheck. ## Also asked - Tracking checker - gclid lost after a redirect - fbclid missing after a redirect - Do UTM parameters survive a redirect? - Redirect from http to https drops parameters - Which consent tool does my website use? - Is my tracking installed correctly? ## Related - https://bench.metrunio.com/en/help/quellen-erkennen - https://bench.metrunio.com/en/help/utm-parameter - https://bench.metrunio.com/en/help/snippet-einbauen - https://bench.metrunio.com/en/help/gtm-verbinden - https://bench.metrunio.com/en/help/consent-tool-verbinden --- --- slug: klaviyo-und-brevo title: "How do I connect Klaviyo or Brevo?" category: installation locale: en updated: 2026-10-16 keywords: ["Klaviyo","Brevo","Sendinblue","newsletter","email","API key"] questions: ["How do I get the numbers of my newsletters from Klaviyo or Brevo next to the measurements in Metrunio?","Connect Klaviyo","Connect Brevo","Connect Sendinblue","Newsletter statistics in Metrunio","Klaviyo API key for Metrunio","Which permissions does the Klaviyo key need?","Why does Metrunio not show an open rate?","Compare newsletter clicks and orders","Why are clicks higher than visits?","Brevo IP allowlist Metrunio"] url: https://bench.metrunio.com/en/help/klaviyo-und-brevo --- # How do I connect Klaviyo or Brevo? **How do I get the numbers of my newsletters from Klaviyo or Brevo next to the measurements in Metrunio?** With an API key from your account under “Data connections → Newsletters”. Metrunio then reads recipients, deliveries and unique clicks per send every day and shows them in the “Newsletters” report next to measured visits and attributed orders or leads. If the section is missing, the integration is not yet enabled for your account. Metrunio measures a newsletter through the click to your website, with utm_campaign in the link. What is missing there only the platform can say: how many recipients the send went to, how many received it and how many people clicked. Metrunio fetches these numbers with your key and puts them alongside. ## Klaviyo 1. In Klaviyo, create a private key under “Settings”, “API keys”. Give it read access only, to Campaigns and Metrics. 2. In the portal under “Data connections → Newsletters”, choose Klaviyo, paste the key and click “Connect”. 3. Metrunio immediately reads the campaigns sent in the last six months. A key that cannot do this is not stored. ## Brevo 1. In Brevo, create a separate key for Metrunio under “SMTP & API”, “API keys”. That way you can revoke it on its own later. 2. In the portal, choose Brevo, paste the key and click “Connect”. ## What the report shows - One row per utm_campaign value. Recipients, deliveries and clicks are reported: they come from the platform and are not added to any Metrunio total. - Visits are measured: visits to your website with this value, with the same consent as any other visit. - Orders or leads and revenue are attributed, with your default model. - Metrunio takes the utm_campaign value from the send if the platform names one, otherwise its name. For Brevo, that is the name the way Brevo writes it, lower case with hyphens. - When several sends share a value, such as a weekly letter under the same name, their visits cannot be told apart. The row then shows the number of sends and the total of their reported numbers. If one of them lacks a number, the total is marked “incomplete”. - A visit counts in one row at most. If it carries exactly the utm_campaign value of a send, it belongs to that send, even if another send has that name. If it only matches a name, it belongs to the send with that name; if several sends have that name, it counts for none of them. More clicks than visits is normal. People who decline in the banner are not measured; security software at some mailbox providers opens links before a person sees them; and some clicks do not lead to your website, such as to an unsubscribe form. ## What Metrunio does not read - No opens: mail apps load images even when nobody reads, so the number says nothing about people. Metrunio does not put a tracking pixel of its own into your emails either. - No recipients and no addresses. Only totals per send are read. - No revenue according to Klaviyo or Brevo. It follows the platform’s own attribution and would sit next to Metrunio’s like a second truth. ## Limits - Metrunio reads once a day and on “Fetch now”, each time the last six months. Older sends keep the numbers read last. - Brevo only includes statistics for the last six months in its campaign list. Klaviyo allows the report twice a minute; if you click “Fetch now” several times in a row, Metrunio reports the throttling, and the next fetch catches up. - If your Brevo account restricts access to certain IP addresses, Brevo rejects every request from Metrunio. Metrunio does not fetch from a fixed sender address. - Metrunio does not read flows or automated emails, only campaigns that were sent. It still measures their clicks on your website, through utm_campaign. If you disconnect, Metrunio deletes the key and the fetched numbers. Measured visits and attributed orders stay, as they come from your website. You can disconnect even when the integration is no longer enabled for your account: the connection stays under “Data connections → Newsletters”, it just no longer fetches anything. > **Legal note:** Totals can relate to individual recipients for very small sends, and so can campaign names. Metrunio therefore processes the numbers on your behalf under the data processing agreement; Brevo and Klaviyo remain your providers. What Metrunio stores and for how long is set out in the privacy policy under “Further data sources of our customers”. This note is not legal advice. ## Also asked - Connect Klaviyo - Connect Brevo - Connect Sendinblue - Newsletter statistics in Metrunio - Klaviyo API key for Metrunio - Which permissions does the Klaviyo key need? - Why does Metrunio not show an open rate? - Compare newsletter clicks and orders - Why are clicks higher than visits? - Brevo IP allowlist Metrunio ## Related - https://bench.metrunio.com/en/help/newsletter-messen - https://bench.metrunio.com/en/help/stripe-und-paypal - https://bench.metrunio.com/en/help/abgleich-plattformzahlen --- --- slug: consent-grundsatz title: "What happens without consent?" category: consent locale: en updated: 2026-10-13 keywords: ["consent","CONSENT_MISSING","cookie banner","GDPR","TDDDG"] questions: ["Is nothing really stored without consent?","Does Metrunio need a cookie banner?","What happens when a user declines?","Do you store data without consent?","Which exceptions apply without consent?","What applies before a decision, after refusal, consent and withdrawal?","Are ad contacts measured without consent?"] url: https://bench.metrunio.com/en/help/consent-grundsatz --- # What happens without consent? **Is nothing really stored without consent?** By default, Metrunio stores nothing without matching consent, not even a raw event, and the tracking script sends nothing before a decision. One documented case differs: purchases and refunds your server reports without consent count towards measured revenue for revenue reconciliation, with their order number and without browser, customer or advertising identifiers, and are not attributed. After a refusal this only applies with an activated additional instruction. Without consent on the ad side, the click redirect passes on only the campaign, no click ID. | Purpose | Events concerned | | --- | --- | | Analytics | session_start, page_view, product_view, add_to_cart, form_submit, lead, purchase, refund, custom, goal, survey | | Marketing | ad_impression, ad_viewable_impression, ad_click, email_open | The check happens twice: the SDK does not even send advertising events without marketing consent, and the collector checks the reported state a second time. What is rejected is not stored, not even as raw data for a later evaluation. ## One case that differs, and the click redirect - Purchases and refunds that arrive through the server API or the historical import without a consent decision (consent_state unknown) are stored for revenue reconciliation: with their order number, without browser, customer or advertising identifiers. They appear as unattributed with the reason “No consent”. They are still personal data, because your shop can link the order number to a person. After a refusal (denied) the same only applies if the additional instruction for revenue reconciliation is activated for your account; otherwise the order is rejected. Details in the article on consent for server events. - The redirect of a tracking link measures the click only with consent on the ad side (c=1), and only then passes on a click ID (metrunio_cid). Without it, it still redirects and appends only the campaign (metrunio_camp), the same for every click. The visit then counts for the campaign without being linked to a click. A visit is linked to the click, the impression and viewability only with marketing consent in your shop. Whether appending the campaign without consent is permissible has not yet been conclusively assessed. Not an exception, but for completeness: every time a tracking element is loaded, a counter on that element goes up, together with the time of the last request. This happens without consent too. No identifier, no address and no per-request time is attached to it; it only tells you whether an element is being served. Anonymous reach measurement before consent has been hidden since 29 September 2026. ## What happens in which state | State | Events from the browser | Ad contacts (pixel, tag, click) | Purchases and refunds from the server | | --- | --- | --- | --- | | No decision yet | The script sends nothing, nothing sits on the device. | Measured only with consent on the ad side (c=1); nothing links them to the shop yet. | With unknown: stored with the order number, without browser, customer or advertising identifiers, counted in revenue, not attributed. | | Refused | Nothing; anything held back is discarded. | As before a decision: no link to the browser is created. | With denied: as with unknown only with an activated additional instruction; without it rejected (CONSENT_MISSING), nothing stored. | | Consented | Measured, with identifier, journey and attribution. | Linked to the browser through the click ID and the view identifier; the view identifier only with marketing consent. | With granted or a matching partial: measured and attributed like a purchase in the browser. | | Withdrawn | Whatever the new state no longer covers is deleted; the script removes its identifier and session. | Those linked to this browser: deleted; the metrunio_view cookie is removed. All others stay. | Reported with this browser’s identifier: deleted, not moved into revenue reconciliation. Reported without consent (no decision or after a refusal): untouched. | | Consented again | New identifier, new journey. | The old contacts no longer exist; the old destination URL brings nothing back either. | As for “consented”. | > **Legal note:** Metrunio does not replace consent management. You still need a CMP that collects and documents consent. Settle the specific arrangement for the two differing cases and the ad contacts after a withdrawal with your privacy counsel. For revenue reconciliation, your own privacy policy must state the purpose, the legal basis and how to object. ## Also asked - Does Metrunio need a cookie banner? - What happens when a user declines? - Do you store data without consent? - Which exceptions apply without consent? - What applies before a decision, after refusal, consent and withdrawal? - Are ad contacts measured without consent? ## Related - https://bench.metrunio.com/en/help/consent-vor-einwilligung - https://bench.metrunio.com/en/help/consent-serverseitig - https://bench.metrunio.com/en/help/consent-widerruf - https://bench.metrunio.com/en/help/was-wird-gespeichert - https://bench.metrunio.com/en/help/zusatzweisung-umsatzabstimmung --- --- slug: consent-tool-verbinden title: "How do I connect my consent tool?" category: consent locale: en updated: 2026-10-17 keywords: ["CMP","consent mode","Usercentrics","Cookiebot","TCF","consentmanager","CCM19","OneTrust","Complianz","Borlabs Cookie","CookieYes","Real Cookie Banner","WP Consent API","WordPress"] questions: ["Which consent tools behind my cookie banner are supported, and how do I map the categories?","Connect Usercentrics","Set up Cookiebot","Set up CCM19","Google Consent Mode","IAB TCF","Which CMP is supported?","Evaluate the TC string","Does Metrunio read __tcfapi?","How do I connect Complianz to Metrunio?","How do I connect Borlabs Cookie to Metrunio?","How do I connect Real Cookie Banner to Metrunio?","How do I connect CookieYes to Metrunio?","How do I connect OneTrust to Metrunio?","Does Metrunio read the WP Consent API?","Which consent tool for WordPress and WooCommerce?","Shopify cookie banner","Which consent tool do I choose for Shopify?"] url: https://bench.metrunio.com/en/help/consent-tool-verbinden --- # How do I connect my consent tool? **Which consent tools behind my cookie banner are supported, and how do I map the categories?** In “Setup” you select your consent tool, the tool behind your cookie banner; for the common systems the categories are pre-filled. Other CMPs and custom consent APIs can be mapped freely. | Preset | Analytics category | Marketing category | | --- | --- | --- | | Google Consent Mode | analytics_storage | ad_storage | | IAB TCF 2.2 | purpose_8 | purpose_7 | | Usercentrics | analytics | marketing | | Cookiebot | statistics | marketing | | consentmanager | measurement | advertising | | CCM19 | analytics | marketing | | Shopware cookie manager | analytics | marketing | | OneTrust | C0002 | C0004 | | Complianz | statistics | marketing | | Borlabs Cookie | analytics | marketing | | CookieYes | analytics | advertisement | | Real Cookie Banner | analytics | marketing | | WP Consent API | statistics | marketing | | Generic CMP / custom API | freely mapped | freely mapped | 1. Open “Setup” and the “Consent” area. 2. Select your consent tool; the standard categories are mapped automatically. 3. Adjust the mapping if you use your own category names. 4. Save under “Change the setting”; the rule check then shows six cases. Whether your website reports the decision correctly shows in the live test above it. For every tool in the table except the generic CMP, the consent bridge takes the decision from your banner; the installation code contains it as soon as you have chosen the tool. Which services or categories it looks for is described in the article on the consent bridge. If you use another one, report the state yourself through metrunio.setConsent({ analytics, marketing }), as soon as your tool delivers a decision and again on every change. For OneTrust, the table shows the IDs of the standard template. Older accounts list the same groups as 2 and 4. The consent bridge recognises those too, so there is nothing for you to change. Marketing means the marketing category of your website, and in addition always marketing, ad_storage and advertising. This one rule applies in the script, when events are accepted and when conversions are reported back to advertising platforms. purpose_7 only counts when the decision comes from a TCF CMP through metrunio.useTcf(); choose the IAB TCF 2.2 preset for that. If you report your own IDs such as C0004 through setConsent, the installation code carries the category as marketingCategory. If you do not copy it again, add it to metrunio.init yourself, otherwise the debug panel shows marketing as not granted. With TCF, analytics counts as granted when purpose 1 is granted together with purpose 8 or purpose 7. Purpose 1 alone is not enough: it allows storing on the device, but no measurement yet. On WordPress, choose the tool itself if it is in the table, even if it also serves the WP Consent API. The WP Consent API is the fallback for tools without an entry of their own, such as WPConsent. A banner that only shows a notice and offers no choice is not a consent tool: nobody decides there, and Metrunio does not measure. With the Shopify app you choose nothing here. The app reads the decision through Shopify’s Customer Privacy API, and the cookie banner Shopify itself offers is always connected to it; with Usercentrics, Consentmanager and Cookiebot it is the norm. The choice in this list applies to the embed code, not to the app (see “How do I set up Metrunio in Shopify?”). ## IAB TCF 2.2 With a TCF CMP, call metrunio.useTcf() after loading. The tracking script then reads every decision from the CMP itself: purpose 1 (storing on the device) is required, purpose 8 stands for analytics, purpose 7 for marketing. Publisher consents count. Metrunio measures on your behalf, so your CMP must ask the person for publisher purposes; enabling them only in the CMP settings is not enough. If you list Metrunio as a vendor of its own in your CMP, pass its ID (metrunio.useTcf({ vendorId })); then purpose and vendor consent both count, and your restrictions for this vendor take precedence. Legitimate interest does not replace consent. > **Note:** If the CMP reports that the GDPR does not apply, the script decides nothing for you. If you want measurement in that case, set it explicitly: metrunio.useTcf({ ausserhalbDsgvo: "granted" }). ## Also asked - Connect Usercentrics - Set up Cookiebot - Set up CCM19 - Google Consent Mode - IAB TCF - Which CMP is supported? - Evaluate the TC string - Does Metrunio read __tcfapi? - How do I connect Complianz to Metrunio? - How do I connect Borlabs Cookie to Metrunio? - How do I connect Real Cookie Banner to Metrunio? - How do I connect CookieYes to Metrunio? - How do I connect OneTrust to Metrunio? - Does Metrunio read the WP Consent API? - Which consent tool for WordPress and WooCommerce? - Shopify cookie banner - Which consent tool do I choose for Shopify? ## Related - https://bench.metrunio.com/en/help/consent-bridge - https://bench.metrunio.com/en/help/consent-status-pruefen - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/gtm-verbinden - https://bench.metrunio.com/en/help/shopify-app --- --- slug: consent-bridge title: "How does Metrunio take the decision from my consent tool?" category: consent locale: en updated: 2026-10-15 keywords: ["consent bridge","consent-bridge.js","Usercentrics","Cookiebot","consentmanager","CCM19","Google Consent Mode","TCF","Shopware","OneTrust","Complianz","Borlabs Cookie","CookieYes","Real Cookie Banner","WP Consent API","WPConsent","WordPress","metrunio-consent-check","automatic blocking","setConsent"] questions: ["Do I have to call metrunio.setConsent myself if I use Usercentrics, Cookiebot, Complianz, Borlabs Cookie, Real Cookie Banner or another common consent tool?","Set up the consent bridge","Usercentrics: add a service for Metrunio","Connect CCM19 to Metrunio","Pass Cookiebot consent to Metrunio","consentmanager: which purpose applies to Metrunio?","Take over Google Consent Mode","TCF: why purposes 1 and 8?","Why does Metrunio not measure although the banner was accepted?","Shopware cookie manager and Metrunio","Complianz: which category applies to Metrunio?","Borlabs Cookie: add a service for Metrunio","Real Cookie Banner: add the service metrunio","CookieYes: which category applies to Metrunio?","OneTrust: which group applies to Metrunio?","Does the bridge recognise OneTrust groups 2 and 4?","Does Metrunio read the WP Consent API?","Does my consent tool block the Metrunio script?","How do I check that the bridge finds my consent tool?"] url: https://bench.metrunio.com/en/help/consent-bridge --- # How does Metrunio take the decision from my consent tool? **Do I have to call metrunio.setConsent myself if I use Usercentrics, Cookiebot, Complianz, Borlabs Cookie, Real Cookie Banner or another common consent tool?** Through the consent bridge, without you calling `metrunio.setConsent` yourself: for thirteen tools this small additional script reads the decision from your banner and passes it to Metrunio, including every later withdrawal. The installation code in the portal contains it as soon as you choose your tool in the consent step, and the Shopware plugin adds it by itself. | Tool | data-source | Analytics (default) | Marketing (default) | | --- | --- | --- | --- | | Shopware cookie manager | shopware | cookie metrunio-analytics | cookie metrunio-marketing | | Usercentrics | usercentrics | service “Metrunio” | service “Metrunio Marketing” | | consentmanager | consentmanager | purpose “Messung” or “Measurement” | purpose “Marketing” or “Advertising” | | Cookiebot | cookiebot | category statistics | category marketing | | CCM19 | ccm19 | embedding “Metrunio” | embedding “Metrunio Marketing” | | OneTrust | onetrust | group C0002, or 2 in older accounts | group C0004, or 4 in older accounts | | Complianz | complianz | category statistics | category marketing | | Borlabs Cookie (version 3 or later) | borlabs | service with the ID metrunio | service with the ID metrunio-marketing | | CookieYes (version 3 or later) | cookieyes | category analytics | category advertisement | | Real Cookie Banner | realcookiebanner | service with the unique name metrunio | service with the unique name metrunio-marketing | | WP Consent API (for example with WPConsent) | wpconsentapi | category statistics | category marketing | | Google Consent Mode | google | analytics_storage | ad_storage | | IAB TCF 2.2 | tcf | purposes 1 and 8 | purposes 1 and 7 | Analytics means: visits, basket and purchase may be measured and linked. Marketing adds ad contacts and the report back to advertising platforms. The bridge reports both separately. ## Adding it If you choose a tool from the table in the consent step of the portal, the line is already in the installation code. By hand it looks like this, right after the Metrunio code: ```html ``` If your service, purpose or category has a different name, name it yourself: data-analytics="Web analytics" data-marketing="Advertising". Separate several names with commas; each of them must be granted. Separate spellings of the same entry with a vertical bar, such as “Messung|Measurement”. The bridge finds an entry by its ID or its name, regardless of upper and lower case. In a tag manager, set window.metrunioConsentBridgeConfig = { source: "usercentrics" } before loading, then load the same file. With data-source="auto" or no setting, the bridge looks for the tool itself: first the tools with their own interface, then the Shopware cookie manager, then the WP Consent API, and last TCF and Google Consent Mode. ## Notes on individual tools - OneTrust: the bridge looks for the groups of the standard template, C0002 and C0004, and also recognises the IDs of older accounts, 2 and 4. You do not need to enter anything for this. If your account lists both IDs as separate groups, a direction only counts as granted when both are granted. If your groups have entirely different IDs, enter their ID or their name, such as data-analytics="Performance Cookies". - Complianz: if Complianz enables statistics without consent (statistics set up as privacy friendly), Metrunio does not measure statistics there, because nobody chose. Set Complianz to require consent for statistics. - Real Cookie Banner and Borlabs Cookie ask per service. Add a service “Metrunio” with the unique name or ID metrunio, plus metrunio-marketing for marketing. - The bridge reads Borlabs Cookie according to the vendor’s documentation. Use the consent check below to see whether your choice arrives. - WP Consent API: choose it only if your tool is not in the table, such as WPConsent. Complianz and CookieYes serve it as well, but CookieYes writes its defaults there before any choice; so choose the tool itself. ## What the bridge does not do - It never assumes consent. As long as the banner reports no decision, Metrunio sends nothing. - If it cannot find a service, purpose or category in the tool, that direction counts as refused. So add Metrunio to your tool. - Consent that arises without a click does not count: implicit consent from Usercentrics and Cookiebot, the Google Consent Mode default (“consent default”), a TCF response saying the GDPR does not apply, OneTrust templates without consent, the Country Bypass of Real Cookie Banner and categories a tool enables by itself. - With TCF, the purposes your tool collects for your own website (publisher purposes) count, not the consents for vendors. Set them up in your tool, otherwise Metrunio does not measure. - If it cannot find the tool for ten seconds, it writes a warning to the browser console and keeps looking, less often, until a minute has passed since loading. In the portal this shows as “no events”. > **Legal note:** Whether Metrunio has to appear in your banner as a separate service with a description of its purpose is something to settle with your privacy counsel. The bridge’s defaults assume that it does. ## Automatic blocking Some tools hold back third-party scripts until consent. If they held back Metrunio, the page views before the choice and a later withdrawal would be lost. The installation code therefore carries the exemptions these tools know on its script tags: data-cookieconsent="ignore" (Cookiebot), data-uc-allowed="true" (Usercentrics), data-cmp-ab="1" (consentmanager), data-ot-ignore (OneTrust) and consent-skip-blocker="1" (Real Cookie Banner). The script then loads right away, but until the choice in the banner it stores nothing on the device and sends no events. Complianz and CookieYes know no such exemption. Complianz only blocks Metrunio if you add it in the Script Center; then allow the measurement address and metrunio.init (whitelist). CookieYes only holds back the script if a cookie entry carries an address pattern of the measurement address and the installation code comes after the CookieYes script. Leave the pattern empty and place the installation code high up in the head of the page. > **Legal note:** Loading the script before consent follows the assessment that loading alone is not yet an access to your visitors’ devices under section 25 TDDDG: until the decision it stores nothing there and sends no events. If the assessment changes, the exemptions change with it. Settle it with your privacy counsel. ## Checking it Open your website with ?metrunio-consent-check=1 at the end of the address, for example https://your-shop.com/?metrunio-consent-check=1. The bridge then shows a small panel at the top right: which tool is configured and which one is detected, which services or categories it looks for, whether your tool knows them and which decision is present. Only you see the panel, it sends nothing, and it updates as soon as you choose in the banner. The browser console shows the same under metrunioConsentBridge.status(). In the portal, the live test shows the page views with their consent status; withdraw consent and the next view is missing. ## Also asked - Set up the consent bridge - Usercentrics: add a service for Metrunio - Connect CCM19 to Metrunio - Pass Cookiebot consent to Metrunio - consentmanager: which purpose applies to Metrunio? - Take over Google Consent Mode - TCF: why purposes 1 and 8? - Why does Metrunio not measure although the banner was accepted? - Shopware cookie manager and Metrunio - Complianz: which category applies to Metrunio? - Borlabs Cookie: add a service for Metrunio - Real Cookie Banner: add the service metrunio - CookieYes: which category applies to Metrunio? - OneTrust: which group applies to Metrunio? - Does the bridge recognise OneTrust groups 2 and 4? - Does Metrunio read the WP Consent API? - Does my consent tool block the Metrunio script? - How do I check that the bridge finds my consent tool? ## Related - https://bench.metrunio.com/en/help/consent-tool-verbinden - https://bench.metrunio.com/en/help/consent-widerruf - https://bench.metrunio.com/en/help/consent-status-pruefen - https://bench.metrunio.com/en/help/shopware-plugin - https://bench.metrunio.com/en/help/wordpress-plugin - https://bench.metrunio.com/en/help/snippet-einbauen --- --- slug: consent-status-pruefen title: "How do I check my consent status?" category: consent locale: en updated: 2026-10-05 keywords: ["consent test","rule check","verify","live test","withdrawal"] questions: ["How do I make sure consent takes effect correctly?","Run the consent test","Is my cookie banner working?","How do I test consent?","Rule check passed. Is my installation correct?","What does the rule check check?"] url: https://bench.metrunio.com/en/help/consent-status-pruefen --- # How do I check my consent status? **How do I make sure consent takes effect correctly?** With two checks that show different things. The rule check under “Setup → Consent” runs six cases against your saved setting, without your website. Whether the website reports consent and withdrawal correctly only shows in the live test with real page views: for each signal the time, source and reported consent status. ## Rule check: the setting 1. Open “Setup” and the “Consent” card there. 2. Under “Change the setting”, select your consent tool; the standard categories are mapped automatically. 3. Save. The rule check runs along with it; “Check rules” repeats it. All six cases should show “passed”. | Case | Expected with “block_all” | | --- | --- | | Page view without a decision | not accepted | | Page view with analytics consent | accepted | | Advertising event with analytics consent only | not accepted | | Advertising event with marketing consent | accepted | | Purchase from the browser without a decision | not accepted | | Page view after a withdrawal | not accepted | > **Note:** “Passed” means your setting accepts or rejects in that case as it should. It says nothing about your website, not even in an account where no script has been installed yet. ## Live test: the website 1. Open your website in a new window and make a choice in the banner. 2. Look at the live test under “Setup”: every signal that arrived is listed with time, source, environment and reported consent status. 3. Consent, refuse or withdraw and check that the status in the list follows. After a refusal nothing new arrives. > **Legal note:** Both checks are technical controls and are no substitute for legal advice. ## Also asked - Run the consent test - Is my cookie banner working? - How do I test consent? - Rule check passed. Is my installation correct? - What does the rule check check? ## Related - https://bench.metrunio.com/en/help/consent-tool-verbinden - https://bench.metrunio.com/en/help/consent-vor-einwilligung - https://bench.metrunio.com/en/help/health-center --- --- slug: consent-vor-einwilligung title: "What happens before consent?" category: consent locale: en updated: 2026-10-15 keywords: ["block_all","anonymous","before consent","reach measurement","fallback","without consent"] questions: ["Can I measure anonymously before consent?","Anonymous measurement without consent","Cookieless tracking","What is block_all?","Is tracking without consent possible?","What is measured without consent?","Are cookies set before the banner?","What is stored in the browser before consent?","Do you use localStorage without consent?"] url: https://bench.metrunio.com/en/help/consent-vor-einwilligung --- # What happens before consent? **Can I measure anonymously before consent?** The default is “block_all”: nothing is stored before consent, and the tracking script sends nothing. Anonymous reach measurement before consent has been hidden since 29 September 2026 and can no longer be selected: the script sends nothing before a decision anyway, so it would stay empty. If you had already enabled it, earlier figures remain visible under “Reach”. | Setting | Effect | | --- | --- | | block_all (default) | Nothing is stored. | | analytics_only_after_consent | Analytics only after consent, marketing still blocked. | | anonymous_analytics_pending_review | Anonymous reach measurement before consent, hidden since 29 September 2026. | > **Note:** Why it is hidden: before a decision, the tracking script sends nothing at all, page views included. Reach measurement only ever received figures through two paths on which the script broke that rule: at checkout and when the page was left. Both have been closed since 29 September 2026. We do not offer a setting that would then measure nothing. Sites that have it keep it until you change it; the description below applies to what was counted until then. Two documented cases differ from the default, without the tracking script sending anything before a decision: orders your server reports without consent, and the click ID the click redirect appends to the destination URL. Both are described in the article “What happens without consent?”. ## What reach measurement stores and what it does not The fallback is a count, not a record. What is stored is when a view arrived, which page was read, and which channel and source it came from. Anything that would let two views be connected to one person is discarded before storage. | Counted | Not stored | | --- | --- | | Page view and session start | Pseudonymous id, session id, customer id | | Channel and source (organic search, Google) | Click and impression identifiers | | Day and website | IP address, not even as a hash | | Page path | Query string, free-form fields, cart lines | - Purchases, leads, carts and form submissions are not stored without consent, not even anonymously. - The counted views produce no journeys, no conversions and no revenue. - The numbers appear in the portal under “Reach”, an area of their own, expressly separate from attribution. The attribution page shows only the total and a link to it. - Once consent is in place the fallback no longer applies; after a refusal it does not either. ## What sits in the browser before consent Nothing. This is a separate question: section 25 TDDDG is not about what sits on our servers but about what is written to, or read from, your visitors’ devices, whether or not it identifies anyone. Before a decision the SDK writes neither the pseudonymous id nor the session id nor the queue, and it reads nothing either. The held-back events do carry a session id, but it lives in memory and only moves onto the device once consent is given. After a refusal it is discarded. This holds for all three settings. Reach measurement does not touch the device either: it counts what the browser sends of its own accord and stores nothing there. Before the decision the SDK does not write a session id either; our tests check this in both browser stores. > **Note:** A subject access request under Article 15 cannot return these rows, and a deletion cannot find them: nothing is stored that would tie them to a person. That is the purpose of the setting and at the same time its limit. > **Legal note:** The third setting carries “pending review” in its name for a reason: it must be reviewed by privacy counsel before it is used. Whether section 25 TDDDG applies depends on the individual case; Metrunio does not make that decision for you. ## Also asked - Anonymous measurement without consent - Cookieless tracking - What is block_all? - Is tracking without consent possible? - What is measured without consent? - Are cookies set before the banner? - What is stored in the browser before consent? - Do you use localStorage without consent? ## Related - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/consent-widerruf - https://bench.metrunio.com/en/help/rechtsgrundlage - https://bench.metrunio.com/en/help/quellen-erkennen --- --- slug: consent-widerruf title: "What happens when consent is withdrawn?" category: consent locale: en updated: 2026-10-13 keywords: ["withdrawal","opt-out","revoke","consent","ad contacts"] questions: ["A visitor withdraws consent. What happens to the data?","Withdraw consent","Opt out","What happens to old data after withdrawal?","Do I have to request deletion after a withdrawal?","What happens to ad contacts after a withdrawal?","Do old clicks reappear after consenting again?","Are impressions deleted after a withdrawal?","What happens to server-side orders after a withdrawal?","Can a deleted order come back through a new import?","Is a conversion still sent to Google Ads after a withdrawal?"] url: https://bench.metrunio.com/en/help/consent-widerruf --- # What happens when consent is withdrawn? **A visitor withdraws consent. What happens to the data?** From the moment of withdrawal nothing more is stored, and queued reports to advertising platforms no longer go out. Metrunio then automatically deletes what that browser reported under the withdrawn purpose, usually within a few minutes, and you do not need to create a request. Metrunio also deletes ad contacts from pixel, tag and click redirect that are linked to this browser; all other ad contacts stay. 1. Your CMP reports the new state; the SDK adopts it through setConsent and reports it to Metrunio. 2. From that moment the affected events no longer leave the device. If marketing is withdrawn, no report for this browser that has not yet been sent goes to an advertising platform, and its click IDs are not included in reports from other devices of the same person either. 3. If everything is withdrawn, the SDK removes its identifier and the session from the browser. If marketing is withdrawn, the collector removes the metrunio_view cookie (the view identifier). 4. Metrunio deletes what the new state no longer covers, including the touchpoints and conversions derived from it. What rests on another basis is left untouched (table). 5. The tenant’s log shows when it was deleted and how many records. The identifier is not in it. | Data class | Everything withdrawn | Only marketing withdrawn | | --- | --- | --- | | Events from this browser (page views, purchases …) | deleted | kept; without the view identifier | | Advertising events the SDK reports itself | deleted | deleted | | Ad contacts from pixel, viewability tag and click redirect | those linked to this browser: deleted; all others stay | all those linked to this browser: deleted; click and impression IDs are removed from its remaining analytics events | | Orders your store reports server-side with this browser’s identifier | deleted | kept | | Orders your store reports without consent (no decision or after a refusal) | not affected, they carry no identifier of this browser | not affected | | Identifier and session in the browser | removed by the SDK | kept (analytics is still granted) | | metrunio_view cookie | removed by the collector | removed by the collector | | Data from other devices of the same person | kept; it rests on their own consent | kept | Why ad contacts go too: impression, viewability and click come in with a signal from the page where the ad ran (c=1). It does not show that the consent there covers measurement for you through Metrunio and is unaffected by a withdrawal in your shop. As long as there is no proof of that, Metrunio deletes the ad contacts linked to the withdrawing browser; other visitors’ ad contacts stay. This also applies when only marketing is withdrawn: ad contacts attached to a page view through the click or impression ID from the destination URL are deleted too. The page view itself stays as an analytics event with its campaign, but loses the click and impression ID, including their trace in the URL. The result is the same as with analytics-only consent from the start, because without marketing Metrunio never stores these IDs in the first place. Why server-side orders go too: if your shop reported the order with the browser’s identifier and consent, it rests on that consent. The additional instruction for revenue reconciliation covers only orders reported without consent, that is without a decision or after a refusal. There is no transfer into it after the fact: the order number goes on the suppression list, and if your shop reports the same order again later, for instance without a decision, with the refusal or through a historical import, Metrunio rejects it. The deletion happens at Metrunio, not in your shop system. Measured revenue is then lower than your shop’s by this order, and a later refund shows up as “refund without purchase”. If the person buys again after the withdrawal and your shop reports the refusal with it, the order counts as after any refusal: with an activated additional instruction in revenue, with its order number, without browser, customer or advertising identifiers and without attribution; without the instruction not at all. With the old consent, Metrunio does not accept it. ## If the same browser consents again later - The SDK assigns a new identifier and a new journey begins. The ad contacts from before the withdrawal have been deleted. - If, after consenting again, the person opens the same destination URL with the old click ID (from their history or a bookmark), it counts as a new visit through the campaign. - If your shop reports a customer number again after sign-in (identify), the browser belongs to that person again, together with their other devices. - If the collector could not remove the cookie, for instance because the browser keeps it only in a partitioned store of the ad site, it still no longer links to the old contacts: the link in the data has been deleted. > **Note:** A withdrawal is not an objection: the browser’s identifier does not go on the suppression list, only the order numbers of deleted purchases and refunds. If the same browser consents again later, it is measured again. Anyone who does not want to be recorded at all files a deletion or objection under “Privacy”. The collector then rejects new events. Likewise, a refusal in the banner is not an objection to revenue reconciliation; you record such an objection under “Privacy” with the order number as the identifier (help article “Additional instruction for revenue reconciliation”). > **Legal note:** The automatic deletion carries out the instruction in the data processing agreement (section 8, paragraph “Standing instruction on withdrawal”). What rested on the withdrawn consent is deleted, nothing more. Ad contacts would stay after a withdrawal only with proof that the consent on the ad side covers them for you through Metrunio and is not covered by the withdrawal in the shop. If you keep data for another reason, that applies to your own systems. ## Also asked - Withdraw consent - Opt out - What happens to old data after withdrawal? - Do I have to request deletion after a withdrawal? - What happens to ad contacts after a withdrawal? - Do old clicks reappear after consenting again? - Are impressions deleted after a withdrawal? - What happens to server-side orders after a withdrawal? - Can a deleted order come back through a new import? - Is a conversion still sent to Google Ads after a withdrawal? ## Related - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/betroffenenrechte - https://bench.metrunio.com/en/help/sperrliste - https://bench.metrunio.com/en/help/post-view-messung --- --- slug: consent-serverseitig title: "Does consent apply to server events too?" category: consent locale: en updated: 2026-10-13 keywords: ["server-side","consent","consent_state","server API"] questions: ["Do I need consent when I send server-side?","Server-side tracking without consent","Does server tracking bypass the cookie banner?","Consent with the conversion API","What happens to orders without consent?","Why does an order say “no consent”?","Do I lose revenue when customers ignore the cookie banner?","Order with consent_state unknown","Order after a refusal in the banner","Is an order without consent attributed later?","Buy it now order without consent in the webhook","Switch off revenue reconciliation","Can I stop orders without consent from being stored at all?"] url: https://bench.metrunio.com/en/help/consent-serverseitig --- # Does consent apply to server events too? **Do I need consent when I send server-side?** Yes, because server-side processing does not mean exemption from consent: pass consent_state and consent_purposes in the event; without matching consent an event is rejected. The exception is purchases and refunds with consent_state unknown: they are stored for revenue reconciliation, with their order number and without browser, customer or advertising identifiers, count towards measured revenue and appear as not attributed with the reason “No consent”. With denied this only applies if the additional instruction for revenue reconciliation is activated for your account. You can switch revenue reconciliation off in the portal under Privacy; such an order can only be attributed via the checkout, if you switch that on. The most common misconception about server-side tracking is that consent no longer applies. It does: what matters is which data about a person is processed, not the route it arrives by. ```json { "event_id": "order-12345", "event_type": "purchase", "consent_state": "granted", "consent_purposes": ["analytics", "marketing"] } ``` The state has four values: unknown, denied, partial and granted. Take it from what your CMP reported at the time of the event rather than defaulting it to granted. ## Orders without consent Not every order has a decision behind it: someone ignores the banner, has JavaScript turned off, or the order is placed at a till in the shop. Orders from before you set things up carry none anyway. Such orders arrive with consent_state unknown, and someone who refused in the banner with denied. Without an exception, both would drop out of your revenue entirely. The exception is revenue reconciliation: a purpose of its own, separate from tracking. It does not rest on consent but on your legitimate interest in complete revenue figures you can reconcile with your shop. For orders without a decision it is on by default for every account, and you can switch it off (see below). For orders after a refusal only with the additional instruction for revenue reconciliation, which you sign and we then activate: refusing tracking is not an objection to revenue reconciliation, but you need to weigh this case separately. | Case | What happens | | --- | --- | | purchase or refund, via /v1/server/events or /v1/server/backfill, consent_state unknown | Accepted. Stored with the order number, without browser, customer or advertising identifiers, measured in revenue, not attributed. | | The same with consent_state denied or partial without analytics (after a refusal), additional instruction activated | Accepted the same way, with the order number, without other identifiers, not attributed. | | The same after a refusal, additional instruction not activated | Rejected (CONSENT_MISSING), nothing stored. The response gives the reason, and the setup check shows a notice. | | The same without a decision or after a refusal, revenue reconciliation switched off in the portal | Rejected (CONSENT_MISSING), nothing stored. The message gives the reason and where to switch it back on. An activated additional instruction is paused. | | The same from the browser (SDK, pixel) | Blocked as before. | | Other server events with unknown (custom, lead, goal …) | Blocked as before. | Before storing, the collector removes everything that ties the order to a person or a visit: pseudonymous ID, session, customer ID and email hash, click, impression and view IDs, IP hash, page, referrer, campaign parameters, the new-customer flag, line items, the value breakdown and free-form fields. What remains is the order ID, amount, currency, the day of the order without the time (in your shop’s time zone) and the environment. The order itself creates no journey, and nothing is sent to ad platforms. The order ID stays so that a refund can find its purchase and you can reconcile revenue against your shop. In reports the order appears as unattributed, with the reason “No consent”. The revenue is measured, and no channel receives it. Because your shop can link the order number to a person, the data generally remains personal data: access, erasure and objection work through the order number (help article “Additional instruction for revenue reconciliation”). ## Switching revenue reconciliation off If you do not want orders without consent at Metrunio at all, switch revenue reconciliation off in the portal under Privacy. Only the Admin role can do this, and the change is recorded in the change log. From then on Metrunio rejects purchases and refunds without a decision, and an activated additional instruction for orders after a refusal is paused, because it requires revenue reconciliation. Orders with consent count as before. Your measured revenue is then lower than your shop’s by the rejected orders. For about ten seconds after the switch, an order may still be handled under the old setting. Switching off does not delete what is already stored: those orders stay until the end of your raw data retention period and then disappear. If a single order should go at once, record an objection under Privacy with the order number as the identifier. You can switch revenue reconciliation back on at any time in the same place; rejected orders are not recovered. ## When the browser reports the same order with consent On Shopify, the Web Pixel reports the completed checkout with the order ID and the checkout identifier, but only if the customer has consented. If the purchase arrives through the webhook without a decision (typical for “Buy it now” and other dynamic checkouts that never create a cart), it stays unattributed with the reason “No consent”, and its revenue is measured. If you switch on order attribution via the checkout, Metrunio attributes it to the visit when the same checkout identifier arrived from the browser with consent and the consent already existed at the time of purchase. How that works and which limits apply is in the article “Attributing orders via the checkout”. It is still counted only once: the confirmation from the browser is not a second purchase. Even if you report the same purchase as purchase through two routes, it counts once as long as both reports carry the same order number; the first one applies. If that was the report from the server without consent, the order stays unattributed, as described above. See the article on sending order data from your shop. > **Legal note:** This description is no substitute for legal advice. That order data with an order number but without browser, customer or advertising identifiers may be stored without consent (for instance as a legitimate interest in complete revenue figures) is a legal assessment that needs your own balancing of interests for your shop, all the more after an explicit refusal. Whether your customers’ consent covers attribution via the checkout depends on what your consent texts say; that is why it stays off until you switch it on and confirm the texts. Check with your privacy counsel whether it holds for your shop and how your privacy policy covers it. A text block for that is in the help article “Privacy policy text block: revenue reconciliation”. ## Also asked - Server-side tracking without consent - Does server tracking bypass the cookie banner? - Consent with the conversion API - What happens to orders without consent? - Why does an order say “no consent”? - Do I lose revenue when customers ignore the cookie banner? - Order with consent_state unknown - Order after a refusal in the banner - Is an order without consent attributed later? - Buy it now order without consent in the webhook - Switch off revenue reconciliation - Can I stop orders without consent from being stored at all? ## Related - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet - https://bench.metrunio.com/en/help/shop-bestelldaten-senden - https://bench.metrunio.com/en/help/zusatzweisung-umsatzabstimmung - https://bench.metrunio.com/en/help/datenschutzerklaerung-umsatzabstimmung - https://bench.metrunio.com/en/help/bestellzuordnung-checkout --- --- slug: trackingelemente-erzeugen title: "How do I generate tracking elements for a creative?" category: messung locale: en updated: 2026-10-12 keywords: ["tracking elements","tracking assets","generator","pixel","viewability","click URL","campaign"] questions: ["Where do I get the pixel, viewability tag and click URL?","Tracking generator","How do I create a tracking pixel?","Where do I find the click URL?"] url: https://bench.metrunio.com/en/help/trackingelemente-erzeugen --- # How do I generate tracking elements for a creative? **Where do I get the pixel, viewability tag and click URL?** Under “Campaigns” you create the structure and let the elements be generated. You never have to assemble tracking parameters yourself: the generator delivers finished code with installation instructions. 1. Select a channel and create a campaign. 2. Optionally create an ad group, ad and creative. 3. Enter the destination URL; it is stored and cannot be changed from outside afterwards. 4. Select the elements: impression pixel, viewability tag, click tracking URL. 5. Choose “Generate elements”. The finished code appears with installation instructions. 6. Copy the code into the creative and replace the macros. 7. Check in the live test that impression, viewability and click arrive. ## Security properties - Tokens are signed (HMAC-SHA256, 128 bit) and not guessable. - Creatives contain no write key; the viewability tag authenticates with the token. - Click destinations come only from the database; request parameters are ignored. - Elements can be revoked at any time; signals are rejected afterwards. - The pixel always answers with a valid 1×1 GIF, even for an invalid token. ## Also asked - Tracking generator - How do I create a tracking pixel? - Where do I find the click URL? ## Related - https://bench.metrunio.com/en/help/impression-pixel - https://bench.metrunio.com/en/help/viewability-tag - https://bench.metrunio.com/en/help/click-tracking-url - https://bench.metrunio.com/en/help/makros-adserver --- --- slug: impression-pixel title: "How do I install the impression pixel?" category: messung locale: en updated: 2026-10-15 keywords: ["impression","pixel","delivery","ad server","1x1"] questions: ["How do I measure that a creative was served?","Measure impressions","Install an ad server pixel","Counting pixel"] url: https://bench.metrunio.com/en/help/impression-pixel --- # How do I install the impression pixel? **How do I measure that a creative was served?** The impression pixel is a 1×1 image you place in the creative or the ad tag. It counts delivery, not viewability; that is what the separate viewability tag is for. It measures from the Pro plan upwards; on the free Start plan Metrunio accepts no impressions. ```html ``` The token identifies the tracking element and is signed. [IMPRESSION_ID] and [CACHEBUSTER] are replaced by your ad server. Without a cache buster a proxy may serve the same image again instead of reporting a new delivery. `c=1` tells the pixel that the publisher’s consent is in place; the publisher’s consent tool or your ad server sets it. The tracking generator writes the placeholder [CONSENT] into the code for this, or a fixed 1 if you state that your ad server delivers only with consent. Without 1 the impression is not stored, and no view identifier is created either. With `c=1` the pixel sets a cookie on the measurement address that can later join the viewable impression to a visit to your shop. How that works, and where it does not, is explained under “How post-view is measured”. > **Note:** A served impression is not automatically viewable. Only what the viewability tag reported as visible counts for post-view. > **Note:** Metrunio measures impressions from the Pro plan upwards and during the trial. On the free “Start” plan the pixel still returns its image, but nothing is stored and it sets no view identifier; the diagnosis shows IMPRESSIONS_NOT_IN_PLAN. The click tracking URL measures on every plan. ## Also asked - Measure impressions - Install an ad server pixel - Counting pixel ## Related - https://bench.metrunio.com/en/help/viewability-tag - https://bench.metrunio.com/en/help/makros-adserver - https://bench.metrunio.com/en/help/post-view-messung - https://bench.metrunio.com/en/help/keine-post-view-touchpoints --- --- slug: viewability-tag title: "How do I measure a creative’s viewability?" category: messung locale: en updated: 2026-10-15 keywords: ["viewability","viewable","50 per cent","one second"] questions: ["What is the viewability tag and when does an impression count as viewable?","Measure viewability","When does an impression count as viewable?","Install viewability measurement"] url: https://bench.metrunio.com/en/help/viewability-tag --- # How do I measure a creative’s viewability? **What is the viewability tag and when does an impression count as viewable?** The viewability tag is a separate script in the creative. It reports an impression as viewable once at least 50 per cent of its area has been in view for one second. Metrunio measures viewability from the Pro plan upwards, not on the free Start plan. ```html ``` The thresholds follow the common industry definition for display: 50 per cent of the area, one second. They sit in the tag itself and are therefore verifiable rather than merely asserted. ## Viewable means opportunity, not attention A viewable impression says the creative was inside the window long enough and large enough to be seen. Whether anyone actually looked is something no tag on earth measures. Turning viewability into attention means the figure has already been misread. ## Formats and thresholds | Format | Common industry threshold | What Metrunio measures | | --- | --- | --- | | Display, regular size | 50% of the area, 1 second | 50% of the area, 1 second; the default in the tag | | Display, large formats from 242,500 pixels | 30% of the area, 1 second | the same display rule; there is no separate threshold for large formats | | Video | 50% of the area, 2 continuous seconds | no separate video rule; the tag uses the configured display threshold (one second), a shorter time than the video rule. The figure is therefore no proof of an impression viewable by video criteria | The threshold sits in the tag as `data-metrunio-min-ratio` and `data-metrunio-min-duration`. Change it and the rule changes: what gets reported is what stands there, and we cannot verify it from outside. That is why post-view coverage in the portal shows which thresholds were actually reported and how many impressions fall under each. A figure without its threshold is not comparable. ## What does not count as viewable - A creative in a background tab: the browser’s visibility observer reports no area there. - A creative that never reaches the threshold continuously. Two half seconds are not one second. - A delivery without a tag. It counts as an impression and never as a viewable one, which is why the viewability rate is always a lower bound. - Obvious bots, recognised by the browser identifier. That is a heuristic, not bot management: anything posing as an ordinary browser is counted. > **Caution:** Metrunio filters obvious bots. Invalid traffic beyond that is not reported separately, and Metrunio does not issue evidence of it to an industry standard. The tag measures a second thing: whether the browser returns a view identifier and where it came from. If one comes back that your shop issued, it is proven that this browser lets the viewable impression and the purchase be linked. If only the one the pixel just set comes back, that is no proof yet: Firefox returns it from a partition that never reaches your shop. Both make up the post-view coverage in the portal, as lower and upper bound. `data-metrunio-consent="granted"` is the condition. Without consent nothing is set and nothing is read. > **Caution:** The pixel and the viewability tag must receive the same impression ID. Otherwise delivery and viewability cannot be joined, and viewable impressions appear without a matching delivery. > **Note:** The viewability tag measures from the Pro plan upwards and during the trial. On the free “Start” plan the collector does not accept its reports and answers with IMPRESSIONS_NOT_IN_PLAN; no view identifier is created. ## Also asked - Measure viewability - When does an impression count as viewable? - Install viewability measurement ## Related - https://bench.metrunio.com/en/help/impression-pixel - https://bench.metrunio.com/en/help/makros-adserver - https://bench.metrunio.com/en/help/post-view-messung - https://bench.metrunio.com/en/help/post-view-verstehen --- --- slug: click-tracking-url title: "How does click tracking work?" category: messung locale: en updated: 2026-10-15 keywords: ["click","click tracking","redirect","destination URL","signed"] questions: ["How do I measure clicks on a creative?","Measure clicks","Redirect URL","How do I count clicks?"] url: https://bench.metrunio.com/en/help/click-tracking-url --- # How does click tracking work? **How do I measure clicks on a creative?** You replace the destination URL in the creative with the generated click tracking URL. Metrunio counts the click and redirects to the stored destination, not to one supplied in the request. ```text https://collector.example.com/v1/click/?iid=[IMPRESSION_ID]&c=[CONSENT]&pd=[SITE_DOMAIN] ``` The destination lives in the database and was fixed when the tracking element was created. Request parameters are ignored. That leaves no open redirect through which someone could abuse your domain for foreign destinations. When the impression ID is passed along, Metrunio joins the click to the delivery of the same creative. That is the precondition for “click before view” to distinguish cleanly. Your ad server or the publisher’s consent tool replaces [CONSENT] with 1 when consent has been given on the ad side, otherwise with 0. Without consent the click still redirects to the landing page, but passes on only the campaign and is not stored as a click. This identifier is the same for every click on the same campaign. So do not create campaigns or destination parameters per person or device, and do not put names, email addresses or other identifying or sensitive details into them. With consent, the click is the reliable way into the shop: the click identifier travels with the redirect onto the landing page, and the SDK there sends it along, in every browser. A viewable impression without a click, by contrast, needs the view identifier in a cookie, and not every browser keeps it. Where a click exists, the click counts. ## Also asked - Measure clicks - Redirect URL - How do I count clicks? ## Related - https://bench.metrunio.com/en/help/trackingelemente-erzeugen - https://bench.metrunio.com/en/help/utm-parameter - https://bench.metrunio.com/en/help/makros-adserver - https://bench.metrunio.com/en/help/post-view-messung --- --- slug: makros-adserver title: "What do the macros in the tracking code mean?" category: messung locale: en updated: 2026-10-15 keywords: ["macro","IMPRESSION_ID","CACHEBUSTER","CONSENT","ad server","placeholder"] questions: ["What is [IMPRESSION_ID] and what happens if the macro is not replaced?","Macro is not replaced","What is a cache buster?","Impression ID in the ad server","What does [CONSENT] mean?","What does [SITE_DOMAIN] mean?","Why does my copied code measure nothing?"] url: https://bench.metrunio.com/en/help/makros-adserver --- # What do the macros in the tracking code mean? **What is [IMPRESSION_ID] and what happens if the macro is not replaced?** Your ad server replaces [IMPRESSION_ID] with the identifier of the individual delivery and [CACHEBUSTER] with a random value. If [IMPRESSION_ID] is left unreplaced, the collector detects it and gives the pixel its own impression ID per delivery. The impression then counts, but the viewability tag reports nothing: without a shared identifier, viewability cannot be matched to a delivery. | Macro | Replaced by | Purpose | | --- | --- | --- | | [IMPRESSION_ID] | identifier of the individual delivery | joins pixel, viewability and click | | [CACHEBUSTER] | a random value per call | stops a proxy from swallowing the delivery | | [CONSENT] | 1 when the publisher’s consent has been given, otherwise 0; set by the consent tool or the ad server | without 1 nothing is stored and no view identifier is set; a placeholder left in place counts as no consent | | [SITE_DOMAIN] | domain of the website the ad runs on | shows in the report where the ad ran; if the placeholder stays, Metrunio reads the website from the referrer | Macro syntax differs per ad server: some use %%CACHEBUSTER%%, others ${CACHEBUSTER}. Replace our placeholders with your system’s syntax before you traffic the creative. If your ad server only ever delivers the creative with consent, choose “My ad server delivers this creative only with consent” in the tracking generator. The code then contains a fixed 1 instead of [CONSENT]. This is your statement; Metrunio does not check it, and it is recorded on every element generated this way. It does not replace proof of your visitors’ consent. Choose it only for a delivery chain you have checked and documented: which ad server, which publisher, which consent text, who is responsible. Beforehand, confirm with a negative test that without matching consent neither the measurement tag nor a positive signal is delivered. Metrunio does not check every single ad contact; you still need to resolve any sign of a misconfiguration. > **Caution:** If pixel and viewability tag receive different impression IDs, viewable impressions appear without a matching delivery. That surfaces as a finding under “Data status”. ## Also asked - Macro is not replaced - What is a cache buster? - Impression ID in the ad server - What does [CONSENT] mean? - What does [SITE_DOMAIN] mean? - Why does my copied code measure nothing? ## Related - https://bench.metrunio.com/en/help/impression-pixel - https://bench.metrunio.com/en/help/viewability-tag - https://bench.metrunio.com/en/help/post-view-messung - https://bench.metrunio.com/en/help/keine-post-view-touchpoints - https://bench.metrunio.com/en/help/publisher-website --- --- slug: publisher-website title: "Which website did my ad run on?" category: messung locale: en updated: 2026-10-15 keywords: ["publisher","domain","SITE_DOMAIN","referrer","website","display"] questions: ["Can Metrunio show on which publisher website an ad was seen or clicked?","Track the publisher","Which site was my ad seen on?","Pass the site domain to the tag","What is [SITE_DOMAIN]?","Report by publisher website","Display ad: on which website?"] url: https://bench.metrunio.com/en/help/publisher-website --- # Which website did my ad run on? **Can Metrunio show on which publisher website an ad was seen or clicked?** Metrunio shows it for ads that carry your own tracking code. If your ad server fills the domain into the [SITE_DOMAIN] macro, it is stored with every impression, view and click. Without the macro, Metrunio reads the website from the referrer, as far as the browser sends one, and says that this is where the value came from. | Origin | Where it comes from | When it is shown | | --- | --- | --- | | Macro [SITE_DOMAIN] | your ad server fills in the domain at delivery | always, when present | | Referrer | pixel and click: the address the browser sends; viewability tag: the top page in the browser, otherwise the referrer | only when the macro is missing | Both are stored, one is shown. In the journey the website appears under “More about this touchpoint”, with “from the referrer” added when it came from there. Under “Attribution” you can break conversions and revenue down by “Publisher site”. Only the host is stored, for example anzeigenmarkt-beispiel.de, never path or parameters. The address of a single listing or article does not belong in the measurement. > **Caution:** If the creative sits in an ad server’s frame, the browser often sends that frame’s address as the referrer rather than the page’s. Metrunio therefore does not accept known ad servers as a publisher: the website stays empty rather than wrong. Firefox does not reveal the top page. Only the macro is reliable. There are no costs per website; costs come per campaign. In the breakdown by publisher site the cost column therefore shows a dash. Whether a view receives a share of the order does not depend on the website but on whether the browser lets view and purchase be linked. That is explained in “How post-view is measured”. ## Also asked - Track the publisher - Which site was my ad seen on? - Pass the site domain to the tag - What is [SITE_DOMAIN]? - Report by publisher website - Display ad: on which website? ## Related - https://bench.metrunio.com/en/help/makros-adserver - https://bench.metrunio.com/en/help/viewability-tag - https://bench.metrunio.com/en/help/impression-pixel - https://bench.metrunio.com/en/help/post-view-messung - https://bench.metrunio.com/en/help/kampagnenstruktur --- --- slug: post-view-messung title: "How post-view is measured and where it is not" category: messung locale: en updated: 2026-10-14 keywords: ["post-view","view identifier","cookie","coverage","Safari","Firefox","Chrome","third-party cookie","measurement address"] questions: ["How does a viewable impression without a click get to a purchase in my shop?","How does post-view work technically?","Why is my post-view coverage so low?","Does post-view work in Safari?","What is the view identifier?","Does post-view need a cookie?","What does post-view coverage mean?"] url: https://bench.metrunio.com/en/help/post-view-messung --- # How post-view is measured and where it is not **How does a viewable impression without a click get to a purchase in my shop?** Through a cookie on the measurement address: pixel and viewability tag set it with consent, the SDK in your shop returns it, and the link is made on the server. That works in Chrome and Edge, not in Safari, Firefox or Brave. How large the linkable share is for you is shown as post-view coverage in the portal. A click carries its identifier onto the landing page. A viewable impression carries no identifier along, unless the browser does. The only thing a browser carries from one site to another without a fingerprint and without circumventing its own protection is a cookie of the address contacted on both sides. That address is your measurement address: your own measurement domain, or the shared one if you have not set one up. ## The path in four steps 1. The impression pixel is loaded with the publisher’s consent (`c=1`) and sets the view identifier: a cookie called `metrunio_view`, valid for 30 days, for the measurement address only. 2. The viewability tag reports the impression as viewable and, while doing so, measures whether the browser returns the view identifier. This yes or no is the basis of coverage. 3. The later visit to your shop: with marketing consent the SDK sends to the same measurement address, and the browser attaches the cookie if it kept it. 4. The worker joins both sides through the view identifier, deterministically, as with a click identifier. If the viewable impression lies within the view window, it receives a share in the model with post-view, from the Pro plan. If the person withdraws marketing consent in the shop, the collector removes the cookie, and the viewable impressions linked to this browser are deleted (see the article on withdrawal). ## Where it works - Display and programmatic with your own tags: in Chrome and Edge with default settings, on desktop as on Android. - Ads on your own pages (onsite teasers, homepage banners): the SDK runs there, and the link is made through its first-party identifier, without any third-party cookie. - Only with consent on both sides: at the publisher, whose consent tool passes it to the ad server and on to the pixel, and in your shop. - Only with the same measurement address in pixel, tag and embed code. If you set up your own measurement domain, replace all three. The portal generates them to match. ## Where it does not - Safari and Brave drop the cookie on the publisher page because it is a third-party cookie there; Firefox puts it into a partition of the publisher page that never reaches the shop. That also holds with your own measurement domain: to the publisher it is still a third party. The same applies to Chrome in incognito mode and to users who have blocked third-party cookies. - Inside the closed feeds of Meta, Google and TikTok: no platform allows a foreign tag there. The click is measured, the viewable impression is not. - Newsletters: an open is a loaded image, not a viewable impression. Mail clients load images without a reader. It is recorded as `email_open` and never receives a share. - A platform’s view-through numbers (DV360, CM360, Meta) are aggregated and not deterministic. They are never reinterpreted as touchpoints of our own. ## Coverage Next to the post-view share the portal shows post-view coverage, by channel and by browser family, in two numbers. “Proven”: the view identifier came back from the other context, issued in the shop and returned on the publisher page or the other way round; this browser lets the viewable impression and the purchase be linked. “Returned”: some view identifier came back at the viewability tag. Firefox does that too, from a partition of the publisher page that never reaches the shop. The first number is the lower bound, the second the upper; both are measured, not assumed. A post-view share of three per cent means something different at twelve per cent coverage than at ninety. Without a view identifier a viewable impression receives no share; for the unlinkable part, conversions remain “unattributed”. > **Note:** What the browser drops is not replaced. No fingerprint, no redirect through the shop, no probability. The viewable impression stays counted, but without a connection to the purchase. > **Legal note:** The view identifier is storage on the end device under section 25(1) of the German TDDDG and requires the user’s consent. It belongs in your privacy notice and in your publisher’s. This assessment does not replace legal advice. ## Also asked - How does post-view work technically? - Why is my post-view coverage so low? - Does post-view work in Safari? - What is the view identifier? - Does post-view need a cookie? - What does post-view coverage mean? ## Related - https://bench.metrunio.com/en/help/impression-pixel - https://bench.metrunio.com/en/help/viewability-tag - https://bench.metrunio.com/en/help/click-tracking-url - https://bench.metrunio.com/en/help/post-view-verstehen - https://bench.metrunio.com/en/help/keine-post-view-touchpoints - https://bench.metrunio.com/en/help/meta-google-messen - https://bench.metrunio.com/en/help/messgrenzen - https://bench.metrunio.com/en/help/publisher-website --- --- slug: kampagnenstruktur title: "How do I structure channels and campaigns?" category: messung locale: en updated: 2026-10-05 keywords: ["campaign","channel","ad group","creative","structure","placement"] questions: ["Which levels exist, and how deep do I need to model them?","Create a campaign","What is a channel?","How deep should the structure go?","Enter a campaign’s external ID","Where do I enter the Google Ads campaign ID?"] url: https://bench.metrunio.com/en/help/kampagnenstruktur --- # How do I structure channels and campaigns? **Which levels exist, and how deep do I need to model them?** The structure has five levels: channel, campaign, ad group, ad, creative. Channel and campaign are required; you only create the deeper levels if you want to evaluate at that level. | Level | Example | Required | | --- | --- | --- | | Channel | display, social, search, newsletter | yes | | Campaign | Summer 2026 | yes | | Ad group | cart retargeting | no | | Ad | banner 300×250 variant A | no | | Creative | motif “beach photo” | no | | Placement | environment or site of delivery | no | Rule of thumb: create a level when you have a question that can only be answered at that level. A structure nobody maintains produces gaps rather than insight. > **Note:** For the automatic cost sync a campaign should carry the ad platform’s campaign ID as its external ID. You enter it when creating the campaign under “Campaigns” or later with “Change ID”; quickest is “Unmatched campaigns” under “Data connections”, where the ID is already shown. Without an ID, matching falls back to the name, which changes when someone renames the campaign. A campaign carries exactly one ID. ## Also asked - Create a campaign - What is a channel? - How deep should the structure go? - Enter a campaign’s external ID - Where do I enter the Google Ads campaign ID? ## Related - https://bench.metrunio.com/en/help/trackingelemente-erzeugen - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/berichte-ueberblick --- --- slug: utm-parameter title: "Do I still need UTM parameters?" category: messung locale: en updated: 2026-09-30 keywords: ["UTM","utm_source","utm_campaign","campaign parameters"] questions: ["How do UTM parameters relate to Metrunio click tracking?","utm_source not recognised","UTM or click tracking?","Are UTM parameters stored?"] url: https://bench.metrunio.com/en/help/utm-parameter --- # Do I still need UTM parameters? **How do UTM parameters relate to Metrunio click tracking?** UTM parameters are still read and stored, but they are the weaker source. Where a Metrunio click URL is in use, a signed click with an unambiguous identifier is created; UTM remains useful for channels where you cannot set your own tracking link. | | UTM parameters | Metrunio click URL | | --- | --- | --- | | Forgeable | yes, anyone can append them | no, signed token | | Knows the impression | no | yes, through the impression ID | | Works without an ad server | yes | yes | | Post-view possible | no | yes, together with pixel and viewability tag | The two are not mutually exclusive. Often the click URL is the creative’s destination and itself carries UTM parameters for the client’s web analytics. Metrunio redirects to the stored destination together with the parameters set there. ## Also asked - utm_source not recognised - UTM or click tracking? - Are UTM parameters stored? ## Related - https://bench.metrunio.com/en/help/click-tracking-url - https://bench.metrunio.com/en/help/kampagnenstruktur - https://bench.metrunio.com/en/help/welche-kennungen --- --- slug: newsletter-messen title: "How do I measure newsletters from Klaviyo or Brevo?" category: messung locale: en updated: 2026-10-16 keywords: ["newsletter","Klaviyo","Brevo","email","UTM","utm_campaign"] questions: ["How do I get clicks and revenue from my newsletters into Metrunio?","Measure Klaviyo with Metrunio","Track Brevo newsletters","Attribute newsletter revenue","Why is my newsletter without a campaign?","UTM parameters for emails","Create a campaign from utm_campaign"] url: https://bench.metrunio.com/en/help/newsletter-messen --- # How do I measure newsletters from Klaviyo or Brevo? **How do I get clicks and revenue from my newsletters into Metrunio?** With UTM parameters in the links; Klaviyo and Brevo add them for you if you switch it on. Metrunio assigns clicks with utm_medium=email to the email channel and the campaign through utm_campaign. If “Attribution” lists a name without a campaign, create it there with one click, and earlier clicks are assigned to it afterwards. ## Klaviyo 1. In Klaviyo, under Settings, “Other”, “UTM tracking”, switch on “Automatically add UTM parameters to links”. Every new message then carries the parameters. 2. utm_source and utm_medium are always on. Leave utm_medium on the message type (“Message type”), so emails carry email there. 3. Switch on utm_campaign and enter a value that identifies the send, such as its name. Campaigns and flows have their own values, and single messages can differ (“Customize Tracking Parameters”). ## Brevo 1. In Brevo, switch on tracking with Google Analytics in the campaign settings (“Google Analytics & Social”). It applies to all campaigns or to single ones. 2. Brevo then adds utm_source=brevo and utm_medium=email, and as utm_campaign the name of the campaign in lower case with hyphens: “Autumn Sale” becomes autumn-sale. 3. You can change the utm_campaign value per campaign. ## In Metrunio - Clicks with utm_medium=email or utm_medium=newsletter land in the email channel. - Metrunio finds the campaign through utm_campaign: the name or the external ID of a campaign you created, regardless of upper or lower case. - If the campaign does not exist yet, its name appears under “Attribution” at campaign level in the list of names without a campaign. “Create as campaign” creates it with exactly that name. Earlier contacts with the name then belong to it, including those that channel detection assigned to another channel; they count towards the chosen channel afterwards, and the confirmation tells you beforehand how many there are. Their conversions are attributed again; the audit log records it. - What is measured is the click on your website, with the same consent as any other visit. For Klaviyo and Brevo, Metrunio puts no tracking pixel of its own into the email. > **Note:** The name in utm_campaign decides. Brevo writes it in lower case with hyphens; if you name the campaign “Autumn Sale” in Metrunio, it does not find the click with autumn-sale. The easiest way is “Create as campaign” with the name that actually arrived. ## Also asked - Measure Klaviyo with Metrunio - Track Brevo newsletters - Attribute newsletter revenue - Why is my newsletter without a campaign? - UTM parameters for emails - Create a campaign from utm_campaign ## Related - https://bench.metrunio.com/en/help/utm-parameter - https://bench.metrunio.com/en/help/kampagnenstruktur - https://bench.metrunio.com/en/help/welche-kennungen --- --- slug: trackingelement-widerrufen title: "How do I deactivate a tracking element?" category: messung locale: en updated: 2026-10-12 keywords: ["revoke","deactivate","token","end"] questions: ["A campaign has ended. How do I stop measuring?","Delete a tracking element","End a campaign","Switch off the pixel"] url: https://bench.metrunio.com/en/help/trackingelement-widerrufen --- # How do I deactivate a tracking element? **A campaign has ended. How do I stop measuring?** Every tracking element can be revoked in the portal. Afterwards the collector rejects signals from that token; data already measured is retained. Revoking is the right route when a creative is still in circulation but should no longer count, for instance after a contract has expired or a motif was published by mistake. > **Note:** The impression pixel still answers with a valid 1×1 GIF after revocation. A creative in circulation therefore shows no broken image, but nothing is counted any more. ## Also asked - Delete a tracking element - End a campaign - Switch off the pixel ## Related - https://bench.metrunio.com/en/help/trackingelemente-erzeugen - https://bench.metrunio.com/en/help/api-keys-rotieren --- --- slug: quellen-erkennen title: "Are Google, Bing and others recognised automatically?" category: messung locale: en updated: 2026-10-15 keywords: ["source","referrer","gclid","msclkid","organic search","auto-tagging","AI assistants"] questions: ["Do I have to set anything up at Google or Bing for the source to be recognised?","Is Google Ads recognised automatically?","Do I need to configure anything in Bing?","How does Metrunio know a visit came from Google?","Is organic search measured?","Are visits from ChatGPT recognised?"] url: https://bench.metrunio.com/en/help/quellen-erkennen --- # Are Google, Bing and others recognised automatically? **Do I have to set anything up at Google or Bing for the source to be recognised?** Automatically, with nothing to set up at Google or Bing. Metrunio reads the origin from what the browser sends anyway: the referrer and the platforms’ click identifiers (gclid, msclkid, fbclid, ttclid). Channel and source therefore appear in the report straight away. You only need to connect something if you also want campaign names and cost: that is what linking the ad account is for. Every measured touchpoint gets a channel and, where it can be recognised, a source. Both come from signals that are already on the address. Nothing has to be added by hand. | Signal | Becomes | Setup needed? | | --- | --- | --- | | gclid, msclkid | Paid Search | No, auto-tagging is enough | | fbclid, ttclid | Paid Social | No | | utm_medium, utm_source | The channel and source named there | No | | Referrer google.de, bing.com | Organic Search, source “Google” / “Bing” | No | | Referrer facebook.com, linkedin.com | Organic Social | No | | Referrer chatgpt.com, perplexity.ai | AI assistants | No | | Referrer mail.google.com | Email | No | | No signal at all | Direct | – | With analytics-only consent, Metrunio keeps only which platform a gclid, fbclid and the like came from. That is enough for the channel. The ID itself is kept only with marketing consent; it is needed only for reporting back to the platform. ## What you do have to connect - Campaign, ad and creative names: a click identifier says the click came from Google, but not which campaign it came from. For that, connect the ad account under “Data connections” or use a tracking link of your own. - Ad spend, CAC and ROAS: cost sits with the platform and arrives over the same connection. - Post-view: viewable impressions need the impression pixel and the viewability tag in the creative; they receive a share from the Pro plan. > **Note:** An unknown referrer does not disappear: it appears as “Referral” under its host name. Nothing is invented: where every signal is missing the channel is “Direct”, and that means “we do not know where from”, not “someone typed the address”. > **Caution:** The referrer is sometimes missing: clicks from apps, from PDF documents, and from pages with a strict referrer policy. Those visits appear under “Direct”. Where the origin matters to you, add UTM parameters or a tracking link as well. ## Your own rules for hosts only you know The built-in list cannot know that partner.example.com is your affiliate network, and on someone else’s site you cannot set a UTM parameter either. Under “Settings → Your own origin rules” you enter the host and give it a name; a channel only if you want to change it. 1. Enter the host without https:// and without www. It also applies to every subdomain below it. 2. Give the source the name it should carry in the report. 3. Pick a channel if the classification should differ from the detected one. Left empty, the detected channel stays. > **Note:** Where several rules match, the more specific one wins: shop.example.com before example.com. Your own rule beats the built-in list: whoever creates it knows the host better than a table in our code. Recognition applies from the day it was switched on, a rule of your own from the day you create it. Touchpoints measured before then keep the classification they had. A report from yesterday should show the same number today. ## Also asked - Is Google Ads recognised automatically? - Do I need to configure anything in Bing? - How does Metrunio know a visit came from Google? - Is organic search measured? - Are visits from ChatGPT recognised? ## Related - https://bench.metrunio.com/en/help/utm-parameter - https://bench.metrunio.com/en/help/kampagnenstruktur - https://bench.metrunio.com/en/help/welche-kennungen --- --- slug: funnel-schritte-messen title: "What is a funnel step?" category: messung locale: en updated: 2026-10-17 keywords: ["funnel step","funnel","SaaS","goal","goal_key","key","order","per customer","sign-up","activation","trial"] questions: ["How do I measure a funnel when there is no purchase?","How do I measure a SaaS funnel?","What is a goal event?","Why does a step count only once?","What is a goal_key?","How do I create a funnel step?","What does “created automatically” mean on a conversion?","Can I measure sign-up and activation as conversions?","How do I use Metrunio for SaaS?","Does Metrunio work without a shop?","Which ads bring paying customers for my software?"] url: https://bench.metrunio.com/en/help/funnel-schritte-messen --- # What is a funnel step? **How do I measure a funnel when there is no purchase?** A funnel step is a conversion a customer reaches rather than buys: signed up, set up, first payment. Each step has a key and a position and counts exactly once per customer, however often it is reported. Several steps in order make up the funnel in the “Orders & goals” report. A shop has one completion: the purchase. An application has several, and none of them is an order: someone signs up, sets something up, pays for the first time. Each of those points is a funnel step: its own conversion definition with a key, a position and a value. A step is reported with an event of type `goal`, from the browser or from your backend; both routes are equivalent. ## An example: software with a trial An accounting software advertises on Google and LinkedIn and offers a 14-day trial. The question behind it is not “Which ad brings sign-ups?” but “Which ad brings people who pay after the trial?”. For that it creates three steps: | Step | When it is reached | Reported by | Value | | --- | --- | --- | --- | | `registriert` | the account has been created | backend, where it creates the account | acquisition value, set in the portal | | `eingerichtet` | the first invoice has been written | browser, at the end of the dialogue | acquisition value, set in the portal | | `erste_zahlung` | the subscription has been paid after the trial | backend, from the payment confirmation | the amount paid, i.e. revenue | After sign-in the application calls `metrunio.identify()` once with the customer number; the same number goes out as `user_id` with the steps from the backend. That way a sign-up on the laptop and a payment on the phone two weeks later belong to the same person and to the ad they came through, as long as the click lies within the click window. The “Orders & goals” report then shows the funnel: how many customers reached each step and what share of the previous step moved on. Below it, each step shows which channels it is attributed to. An example, not a measurement: 200 signed up, 80 set up, 30 first payment. If sign-ups come mainly through LinkedIn but first payments through Google search, this is where you see it. On “Channels & attribution” you narrow the reports to `erste_zahlung` and get the ROAS on paid subscriptions against all ad spend. > **Note:** In the setup assistant, the choice “Steps in an application (SaaS)” creates exactly these three steps: `registriert`, `eingerichtet`, `erste_zahlung`. You can rename, add or retire them. How to report them from the browser and the backend is in “How do I report a funnel step?”. ## The key The key (`goal_key`) is the name your code uses to report the step: lower case, no spaces, made of letters, digits, underscore, dot and hyphen, at most 64 characters, for example `signed_up` or `shop_created`. It is an address: once events have counted against it, it can no longer be changed. If you need a different one, create a new step and retire the old one. The position, by contrast, can be changed at any time with the arrows in the portal. If your code reports a key that does not exist yet, the definition is created on its own. In the portal it then shows as “created automatically”; you add the name and value afterwards. That has an upside and a catch: you can start with the code without defining every goal in the portal first, but a typo in the code becomes a step of its own. A retired definition no longer counts, even if events with its key keep arriving. ## Once per customer A customer reaches a step, or does not. If your code reports the same step for the same customer a second time (because the page was reloaded or a background job ran twice), it does not count again. The figure in the report is therefore a count of customers, not of calls. > **Caution:** “Per customer” means per customer identifier. A step needs one: `user_id`, `user_id_hash` or the pseudonymous browser ID; without one it is rejected. Only with `metrunio.identify(userId)` after sign-in is the customer the same across browsers and devices. Without identify() the step counts per browser: the same person on two devices counts twice, and two accounts in the same browser count once. ## What a funnel step is not - Not a page funnel: Metrunio does not build a funnel from click paths or visited pages. Only steps your code reports are counted. - Not revenue: you decide a step’s acquisition value in the portal. The report therefore calls it “set” and keeps it apart from revenue. Only an amount the event itself brings with it is revenue. - Not exempt from the quota: every step sent is an event and counts against the event quota; the same event ID counts once. - Not exempt from consent: `goal` is an analytics event. As with a lead, no step is stored without analytics consent, not even from your backend; the exception for orders your server reports without consent does not apply to steps. > **Note:** If two identities merge, for example because someone signs in on a browser that was previously known only by its browser ID, and both had reached the same step, the earlier conversion is kept. A return that was already reported to an ad platform cannot be recalled. ## Also asked - How do I measure a SaaS funnel? - What is a goal event? - Why does a step count only once? - What is a goal_key? - How do I create a funnel step? - What does “created automatically” mean on a conversion? - Can I measure sign-up and activation as conversions? - How do I use Metrunio for SaaS? - Does Metrunio work without a shop? - Which ads bring paying customers for my software? ## Related - https://bench.metrunio.com/en/help/funnel-schritte-einbauen - https://bench.metrunio.com/en/help/funnel-bericht-lesen - https://bench.metrunio.com/en/help/wert-je-schritt - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/welche-events-gibt-es - https://bench.metrunio.com/en/help/eventkontingent --- --- slug: wie-entsteht-journey title: "How is a journey created?" category: journeys locale: en updated: 2026-10-12 keywords: ["journey","touchpoint","linking","chain","identity"] questions: ["How do individual signals become one coherent journey?","How does the journey work?","How are touchpoints linked?","What is a customer journey in Metrunio?"] url: https://bench.metrunio.com/en/help/wie-entsteht-journey --- # How is a journey created? **How do individual signals become one coherent journey?** A journey is a chain of measured signals with timestamp, source and identifier, not a reconstruction. Signals are joined when they carry a shared, unambiguous identifier. 1. Delivery: the impression pixel reports that the creative was served. 2. Viewability: the viewability tag reports whether it was actually visible. 3. Click: the click travels through a signed link and is redirected safely. 4. Website: the tag reports session, page views and interactions. A visit becomes one touchpoint; moving between pages inside it does not add another. 5. Conversion: your shop or CRM reports the completion with an order or lead number, from the browser or from the server. 6. Linking: unambiguous identifiers bring the signals together into one journey. Where a shared identifier is missing, signals stay separate. Metrunio does not close the gap with probabilities; it reports it. A conversion without linked contacts appears as “unattributed”. ## Also asked - How does the journey work? - How are touchpoints linked? - What is a customer journey in Metrunio? ## Related - https://bench.metrunio.com/en/help/was-ist-ein-kontakt - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet - https://bench.metrunio.com/en/help/journey-explorer --- --- slug: was-ist-ein-kontakt title: "Does every page view count as a touchpoint?" category: journeys locale: en updated: 2026-10-15 keywords: ["touchpoint","contact","visit","session","page view","navigation","direct"] questions: ["When does a visit to my website become a touchpoint in the journey?","Does every page view count as a touchpoint?","Why does my journey have fewer touchpoints than page views?","Why is the checkout not a touchpoint in the journey?","Why does direct get the last touch?","What is a touchpoint?","How many touchpoints does a visit have?"] url: https://bench.metrunio.com/en/help/was-ist-ein-kontakt --- # Does every page view count as a touchpoint? **When does a visit to my website become a touchpoint in the journey?** A visit is one touchpoint, however many pages are viewed in it; the individual page views do not count separately. The same visit only adds another touchpoint when a new campaign signal arrives: a different click ID, different UTM parameters or a different external referrer. A touchpoint answers the question “where did this person come from?”. Someone who arrives at your shop through an ad and then looks at five pages arrived once: through the ad. The five pages are navigation, not five touchpoints. ## When a touchpoint is created - The first hit of a visit is a touchpoint. It gets the channel its signal gives, or “Direct” if there is none. - If a new signal arrives within the same visit, that is another touchpoint: a different click ID (such as gclid, fbclid, msclkid, ttclid), different UTM parameters, or an external referrer that did not apply before. With analytics-only consent, only the platform of a click ID counts: two clicks from the same platform are then one signal. - After 30 minutes without an event a new visit starts, and with it a new touchpoint. - Everything else is navigation: product page, cart, the pages of the checkout. Navigation is not lost. Every page view is stored and processed, keeps the journey active and counts towards page views, sessions, funnels and your event quota as before. It just does not appear as a touchpoint of its own in the journey, and the attribution models assign it nothing. You can see it in the journey’s visit history, as a step of the visit. ## Why this changes the models An example: someone opens your shop directly, comes back through a Google ad, looks at a product and orders after two checkout pages. That is two touchpoints: “Direct” and “Paid Search”. “Last touch” gives the order to the ad; “Linear” splits it 50/50. If every page counted, “Direct” would appear four times in the journey, take the last touch, and the ad would keep 20 per cent under “Linear”. Interactions such as product views or add-to-cart still appear in the journey. They receive no share in any model. That has not changed. > **Caution:** This rule applies from 17 September 2026. Touchpoints recorded before then stay as they were measured: a visit there can carry several touchpoints, mostly “Direct”. Until they fall out of the click window (at most 90 days) they also count towards new conversions. Without a session identifier, as with server events or older installations, no visit can be recognised; there every page view remains a touchpoint of its own. ## Also asked - Does every page view count as a touchpoint? - Why does my journey have fewer touchpoints than page views? - Why is the checkout not a touchpoint in the journey? - Why does direct get the last touch? - What is a touchpoint? - How many touchpoints does a visit have? ## Related - https://bench.metrunio.com/en/help/wie-entsteht-journey - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/journey-explorer - https://bench.metrunio.com/en/help/besuchsverlauf - https://bench.metrunio.com/en/help/quellen-erkennen - https://bench.metrunio.com/en/help/utm-parameter --- --- slug: welche-kennungen title: "Which attributes are linked?" category: journeys locale: en updated: 2026-10-13 keywords: ["identifier","identity","anonymous_id","session_id","click_id","user_id_hash"] questions: ["How does Metrunio know that two signals belong together?","How are users recognised?","Do you use fingerprinting?","Which IDs do you use?"] url: https://bench.metrunio.com/en/help/welche-kennungen --- # Which attributes are linked? **How does Metrunio know that two signals belong together?** Only through unambiguous identifiers: session ID, pseudonymous first-party ID, click ID, impression ID, view identifier, pseudonymised customer identifier, and order or lead number. Nothing else. | Identifier | Origin | Typical use | | --- | --- | --- | | anonymous_id | random first-party value in local storage | links visits from the same browser | | session_id | assigned by the SDK | links events within one visit | | click_id | from the click tracking URL | links ad click and website | | impression_id | from the ad server macro | links delivery, viewability and click | | view_id | metrunio_view cookie of the measurement address, only with marketing consent | links a view to the later visit to the shop (post-view) | | user_id_hash | tenant-specific pseudonymised customer number | links signed-in visits | | order_id / lead_id | from shop or CRM | links server-side conversion and website | ## Explicitly excluded - No fingerprinting through device characteristics. - No probabilistic models. - No linking across tenant boundaries. - No plaintext email addresses or phone numbers; they cause the event to be rejected. > **Note:** A user_id you pass is pseudonymised on receipt through a tenant-specific HMAC and never stored in clear text. If you already pseudonymise, send user_id_hash directly, for example the SHA-256 of the email address. That value is also combined with your account’s key on receipt: the same checksum yields a different identifier in another account. For funnel steps a customer identifier is mandatory: a `goal` without user_id, user_id_hash or anonymous_id is rejected, because “once per customer” cannot be decided otherwise. Only with user_id or user_id_hash is the customer the same across browsers and devices; with the anonymous_id alone the step counts per browser. ## Also asked - How are users recognised? - Do you use fingerprinting? - Which IDs do you use? ## Related - https://bench.metrunio.com/en/help/cross-device - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/was-wird-gespeichert - https://bench.metrunio.com/en/help/funnel-schritte-messen --- --- slug: cross-device title: "Why is there no cross-device matching?" category: journeys locale: en updated: 2026-09-30 keywords: ["cross-device","matching","fingerprinting","login"] questions: ["Can Metrunio tell that someone clicked on mobile and bought on a laptop?","Cross-device journey","Link mobile and desktop","Cross-device tracking"] url: https://bench.metrunio.com/en/help/cross-device --- # Why is there no cross-device matching? **Can Metrunio tell that someone clicked on mobile and bought on a laptop?** Only when a shared, unambiguous identifier exists, for example a pseudonymised customer number after signing in. Probabilistic matching through device characteristics deliberately does not exist. Cross-device attribution is possible exactly where it can be evidenced: if the same person signs in on both devices and you pass the customer number, Metrunio links the visits through the hash derived from it. Without such an attribute the result is two separate journeys. The alternative would be to compute a probability from IP range, screen size and timing and report it as fact. We do not. > **Note:** The consequence is visible and intended: a share of conversions stays “unattributed”. That number is in the report and is itself a statement about coverage. ## Also asked - Cross-device journey - Link mobile and desktop - Cross-device tracking ## Related - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/messgrenzen - https://bench.metrunio.com/en/help/was-metrunio-nicht-tut --- --- slug: journey-explorer title: "How do I inspect a single journey?" category: journeys locale: en updated: 2026-10-12 keywords: ["journey explorer","touchpoints","order","detail view","list","sorting","pagination","viewable impression","first channel","campaign"] questions: ["Where can I trace which contacts preceded a conversion?","View a journey","Which contacts happened before the purchase?","Journey explorer","Why do I not see every journey?","Sort the journey list","Where is the second page of journeys?","Find the journey for an order or lead","Reset the search","Why do I find no journey after searching?","Show journeys with a viewable impression","Which journeys start with display?","Filter journeys by first channel","Show journeys without a conversion","Filter journeys by campaign","Which journeys did a campaign touch?","What does “Attribution of this conversion” mean?","Where do I see the page views of a visit?"] url: https://bench.metrunio.com/en/help/journey-explorer --- # How do I inspect a single journey? **Where can I trace which contacts preceded a conversion?** Under “Customer journeys” you open a journey by its order number and see ad contacts, visits, shop steps and conversions in one sequence with the time. Each touchpoint names time, channel, campaign and the share under the model of the context row; the side column says how that model splits the conversion across channels, and what was recorded. - The list starts with order number and amount; the pseudonymous journey identifier sits at the end of the row. Under “Orders & goals”, the order number leads straight to the journey. - One timeline: impression, viewable impression, click, visit, product viewed, added to cart, form, checkout, purchase, in that order with the time. A visit appears once; its page views expand on the visit. A new campaign signal within the same visit is a touchpoint of its own. A conversion reported without a visit (server, import) stands on its own. - Per touchpoint: time, channel, campaign and the share under the model of the context row; without a choice that is your default model. You choose the model in the journey list, and it carries into the detail view and the model comparison. - Under “More about this touchpoint”: ad, creative, placement, source, data origin, time to conversion and the share per attribution model (“First touch 100%, linear 25%”), with the amount that follows from it. - The side column: “Attribution of this conversion” with the shares per channel under the chosen model, expandable for all models, plus “Compare models” with the same period and model; “Orders & goals” with refund and set value; “What was recorded” with data basis, identity attributes, missing signals and the sentence on what is never recorded. An unattributed conversion names its reason there, the same as in the conversion list. - A test data switch, to verify your setup. > **Note:** Every journey has a public identifier starting with jr_. The privacy area accepts that identifier when a data subject requests access or deletion. The list initially shows only journeys with at least one conversion. That is a filter, not the state of your data: journeys without a completion are only hidden. “All journeys” shows the full set. - Filters: with conversion only, without conversion, all journeys, cart without purchase, two or more touchpoints, with a viewable impression, by the channel of the first touchpoint and by campaign. From the model comparison you can also reach the journeys of one channel. - Sorting per column: start, touchpoints, conversions, value. Sorting runs over the whole set, not just the visible page. - Pagination with a total count, so it stays visible how much is not on the page. - Search by journey identifier, order number or lead ID. The search keeps the period and filters. With no match, “Reset search” clears only the search, “Reset all filters” the filters as well. Filter, sorting, search and page number are part of the address. A link to a particular view shows the recipient the same excerpt, and the way back from a journey leads to the same list. “With viewable impression” shows journeys with at least one viewable impression, whichever the channel. Combined with “First channel”, the list answers questions such as “Which journeys with a viewable impression start with display?”. The first channel is the channel of the journey’s earliest touchpoint. A later touchpoint via the same channel does not count for it. From the post-view coverage under “Channels & attribution”, “See journeys with a viewable impression” leads straight to this filter. “Campaign” shows journeys with at least one touchpoint from the selected campaign, wherever it sits in the journey. That shows you which paths a campaign touched and how they continued. Archived campaigns are in the list too, marked “(archived)”; it names up to 200 campaigns alphabetically, and you reach any further one through the breakdown. Under “Channels & attribution”, in the breakdown by campaign, “View touchpoints” leads straight to this filter for the same period. ## Also asked - View a journey - Which contacts happened before the purchase? - Journey explorer - Why do I not see every journey? - Sort the journey list - Where is the second page of journeys? - Find the journey for an order or lead - Reset the search - Why do I find no journey after searching? - Show journeys with a viewable impression - Which journeys start with display? - Filter journeys by first channel - Show journeys without a conversion - Filter journeys by campaign - Which journeys did a campaign touch? - What does “Attribution of this conversion” mean? - Where do I see the page views of a visit? ## Related - https://bench.metrunio.com/en/help/wie-entsteht-journey - https://bench.metrunio.com/en/help/was-ist-ein-kontakt - https://bench.metrunio.com/en/help/besuchsverlauf - https://bench.metrunio.com/en/help/csv-export - https://bench.metrunio.com/en/help/betroffenenrechte - https://bench.metrunio.com/en/help/gespeicherte-ansichten --- --- slug: besuchsverlauf title: "Can I trace what someone did in my shop?" category: journeys locale: en updated: 2026-10-15 keywords: ["visit history","session","page views","click path","cart abandonment","without conversion","session replay"] questions: ["How do I see which pages someone viewed, even if the visit did not end in a purchase?","View the visit history","Which pages did a visitor view?","Where did someone abandon the purchase?","Find cart abandoners","View a session","Can I follow a session?","Is there session replay?","Show journeys without a conversion","Why is the checkout not in the timeline?","Where did the visit history go?","Clickstream of a person","Why do I only see visits from the last 7 days?"] url: https://bench.metrunio.com/en/help/besuchsverlauf --- # Can I trace what someone did in my shop? **How do I see which pages someone viewed, even if the visit did not end in a purchase?** Every journey’s timeline shows it: each visit with its measured steps, with or without a conversion. Products viewed, cart, form, checkout and purchase stand in the sequence, and the pages viewed expand on the visit. In the journey list, “Without conversion” and “Cart without purchase” find exactly those visits. A journey’s timeline tells you where someone came from and what the person did next, in one sequence: one touchpoint per visit and per new campaign signal, with the shop steps in between, exactly as your shop or application reported them. The page views of a visit expand on the visit, so the sequence stays readable. ## What a visit shows - On the visit: start, entry channel, number of steps, duration and whether the visit ended in a conversion. A visit without a measured touchpoint is named as such. - Per step: time, kind (viewed product, added to cart, submitted form, lead, purchase, goal step, custom event with its name; on Shopify, for instance, “Started checkout”), the page path with its title, the products and the amount. Page views sit with time, path and title in the expandable list of the visit. - If a step lies on a different address from the entry, such as a checkout on its own domain, the host is shown in front of it. - If a visit ends without a conversion, its page views close with “No further step measured after this.” That is what the measurement supports: whether the person closed the tab or simply stopped clicking cannot be measured. ## Finding visits that did not convert - “Without conversion” shows journeys with no measured purchase, lead, form or goal step. - “Cart without purchase” shows journeys in which something was added to the cart but nothing was bought. This requires your shop to report `add_to_cart`; the Shopify app does so on its own. From the default view the switch sets the selection to “All journeys”. If you then choose “With conversion only”, only journeys with a conversion other than a purchase remain, such as an enquiry. - Both filters live in the address and can be saved as a view. In the chat and over MCP they are `withConversion: false` and `abandonedCart: true` on the `journeys` tool. ## What it does not contain - No screen recording, no mouse movement, no scrolling, no input typed into form fields. Metrunio does not record sessions (no “session replay”); it shows what was reported as an event. - No query string: `/products/shoe?colour=red&email=…` appears as `/products/shoe`. Campaign parameters already appear as a touchpoint in the timeline, and anything else in the query string does not belong in a report. - No visits without consent. Without analytics consent no session is created, so there is no history. - No bots, no rejected or duplicate events, no `identify()` calls. ## How far back the history reaches | Plan | Visit history | | --- | --- | | Start | last 7 days | | Pro | last 30 days | | Growth, Scale, Agency | as far back as retention | Only the view is limited. Every visit is measured and stored on every plan, and the timeline, conversions and list filters apply to all. If a journey has earlier visits before the window, the history says how many. After moving to a higher plan they appear, as long as retention still holds them. The 30-day trial runs on Growth. > **Caution:** The visit history needs a session identifier. The tag sets one itself; events sent through the server API without a `session_id` do not appear here. The steps are raw events and are deleted after your retention period (180 days by default, 90 on the Start plan). For an older journey the early visits are missing while the timeline’s touchpoints remain. At most 500 steps are shown per journey. > **Legal note:** The visit history shows the paths of individual, pseudonymous people, not just totals. We assume analytics consent covers this because no data is processed beyond what already was. Still, state in your privacy policy and consent text that visits may also be analysed individually, and have your privacy adviser review it. ## Also asked - View the visit history - Which pages did a visitor view? - Where did someone abandon the purchase? - Find cart abandoners - View a session - Can I follow a session? - Is there session replay? - Show journeys without a conversion - Why is the checkout not in the timeline? - Where did the visit history go? - Clickstream of a person - Why do I only see visits from the last 7 days? ## Related - https://bench.metrunio.com/en/help/journey-explorer - https://bench.metrunio.com/en/help/was-ist-ein-kontakt - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/shop-bestelldaten-senden - https://bench.metrunio.com/en/help/aufbewahrung - https://bench.metrunio.com/en/help/single-page-app --- --- slug: conversion-nicht-zugeordnet title: "Why is a conversion not attributed?" category: journeys locale: en updated: 2026-10-16 keywords: ["unattributed","coverage","attribution"] questions: ["What does “unattributed” mean, and how do I improve coverage?","Unattributed conversions","Conversion without a channel","Why is the source missing?","What does “No consent” mean for an unattributed conversion?","Why was an order without consent attributed later after all?","Why is a conversion unattributed only under “Last non-direct click”?","Why is my test purchase not attributed?","Why is a subscription renewal not attributed?"] url: https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet --- # Why is a conversion not attributed? **What does “unattributed” mean, and how do I improve coverage?** “Unattributed” means the model found no touchpoint for this conversion that it considers. Either none falls inside the attribution window and is linked by a shared identifier, or there are only touchpoints of a kind the model does not distribute. Metrunio does not invent a contact in that case. 1. Check whether any touchpoint was measured before the conversion at all (open the journey; the side column “Attribution of this conversion” names the same reason as the list). 2. Make sure tracking is active on every page, not only the home page. 3. For server conversions, pass the same order number as the shop does. 4. Check that consent was in place before the purchase completed. 5. Check the attribution windows: touchpoints outside the window do not count. Another common case: the conversion arrives server-side without a shared identifier. Pass the anonymous_id, session_id or click_id from the session in which the purchase happened. Funnel steps add one more cause: if `metrunio.identify(userId)` is missing in the browser before the step, it arrives under the browser ID and is not credited to the signed-in customer. A long quiet spell, on the other hand, is not a cause. Whether a contact receives a share is decided solely by the click or view window, even if weeks without measured activity sit between it and the conversion. Under “Last non-direct click” there is one more cause: if only viewable impressions precede the conversion, it remains unattributed in this model. The model distributes among clicks and visits only. The other models attribute it to the viewable impressions. “Unattributed” in the overview, the conversion list and the model comparison therefore always refers to the selected model, and without a choice to your default model. If the reason says that every touchpoint comes from a bot, Metrunio recognised the visits as automated, for example a browser without a window as used by testing tools. Such touchpoints count towards no attribution. This often affects your own test purchase: for a test, buy in an ordinary browser. If the reason reads “No consent”, your server reported the order without consent, with no decision in the banner or after a refusal, and it was stored for revenue reconciliation: with its order number, without browser, customer or advertising identifiers. After a refusal this only happens with an activated additional instruction for revenue reconciliation. The revenue is measured and counts in the totals. It is attributed to a channel only through “Order attribution via checkout” under “Privacy”, if you have switched it on: when the same checkout was completed in the browser with consent that already existed at the time of purchase, and never after a refusal. That is why such an order can appear as attributed later on. Otherwise there is nothing to improve for this order; more attributed orders only come with more consent in the banner. A subscription renewal does not look for touchpoints of its own. It takes over the shares of the first order of the same subscription. If the reason says that the first order is not known, the subscription started before measurement, the subscription ID is missing, or the first order arrived without consent; report the first order with the same subscription_id. If it says that the first order is not attributed, the actual reason is shown on that order. > **Note:** We do not invent touchpoints. If a signal is missing, the conversion stays visible as “unattributed”. That is a statement about the data, not a software fault. ## Also asked - Unattributed conversions - Conversion without a channel - Why is the source missing? - What does “No consent” mean for an unattributed conversion? - Why was an order without consent attributed later after all? - Why is a conversion unattributed only under “Last non-direct click”? - Why is my test purchase not attributed? - Why is a subscription renewal not attributed? ## Related - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/attributionsfenster - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/funnel-schritte-messen - https://bench.metrunio.com/en/help/consent-serverseitig - https://bench.metrunio.com/en/help/bestellzuordnung-checkout - https://bench.metrunio.com/en/help/abo-folgezahlungen --- --- slug: attributionsmodelle title: "How do the attribution models calculate?" category: attribution locale: en updated: 2026-10-14 keywords: ["attribution","model","first touch","last click","linear","position based","data-driven","removal effect"] questions: ["Which models exist and how do they distribute the share?","Which models are available on the free plan?","Which attribution models exist?","What is last click?","How does position based work?","Which model should I pick?","Data-driven attribution","Why is the data-driven model missing?","Do viewable impressions get a share under last click?","Why is a conversion unattributed under “Last non-direct click”?","Which model does the overview use?","Which model do the chat, the API and MCP use?","Do the shares always add up to 1?","Why do the models attribute different numbers of conversions?","Attributed total smaller than all conversions"] url: https://bench.metrunio.com/en/help/attributionsmodelle --- # How do the attribution models calculate? **Which models exist and how do they distribute the share?** There are seven models: six distribute a conversion by a fixed, disclosed rule, and the seventh reads the rule from your own paths. If a model finds matching touchpoints, it distributes the conversion’s full value across them; if it finds none, the conversion stays “unattributed” and is shown separately. Attributed and unattributed together add up to all conversions it calculates. > **Note:** On the free Start plan Metrunio calculates with one model: “Last non-direct click”. All seven side by side are available from Pro; until then the attribution page shows what another model would shift in your own data. 1. First touch: the first measured touchpoint receives 100 per cent. 2. Last touch: the last touchpoint receives 100 per cent. 3. Last non-direct click: the last click, or last visit with a campaign reference, receives 100 per cent. Viewable impressions never receive a share, not even with post-view; a direct visit only when there is no click. 4. Linear: every touchpoint receives an equal share. 5. Position-based: the first and last touchpoint receive 40 per cent each; the rest share 20 per cent. 6. Click before view (with post-view fallback): clicks and visits with a campaign reference take precedence; a viewable impression only counts when there are none. 7. Data-driven: each channel’s share is read from your own paths, including those without a conversion. Shares go to clicks, visits and (with post-view) viewable impressions. A visit is one touchpoint even if ten pages are viewed in it; another is only created by a new campaign signal. Interactions such as product views or add-to-cart and newsletter opens appear in the journey but receive no share. The exception is “Last non-direct click”: it distributes among clicks and visits only. If only viewable impressions precede a conversion, it remains unattributed under this model. The other models attribute it to the viewable impressions. If there is no click but a direct visit, the direct visit receives the share: it is a measured touchpoint of the kind the model distributes. That is why “Direct” can receive more under this model than under a model with post-view, although the name suggests the opposite: what a viewable impression receives there goes to the direct visit here. ## Three cases, one total | Before the conversion | Model | Result | | --- | --- | --- | | a click | any | attributed, the full value to the click | | viewable impressions only | “Last non-direct click” | unattributed (“viewable impressions only”) | | viewable impressions only | the others, with post-view | attributed, to the viewable impressions | | no matching touchpoint | any | unattributed | Attributed and unattributed together add up to all conversions a model has calculated. For the six fixed models, that is all conversions in the period. The data-driven model only calculates since it has a basis; older conversions are missing from it, and the model comparison then states under “Basis” how many it distributed. The number of attributed conversions can differ between models: someone who bought after viewable impressions only counts as unattributed under “Last non-direct click”. > **Note:** Without an explicit choice, the overview, reports and the conversion list use the default model from “Settings”, and so do the chat under “Ask your data”, the read API under /v1/data and the MCP server. If that is “Data-driven” and its basis is not there yet, they use “Last non-direct click” and name the model alongside. The same question therefore yields the same number everywhere, as long as period, post-view setting and data state are the same. Which of the six fixed models is “correct” cannot be derived from the data. It is an assumption about how advertising works. That is exactly why Metrunio shows them side by side rather than picking one and staying quiet about the choice. The data-driven model sets no rule; it measures how much a channel distinguishes in your paths: how much attributed value drops out of the model when it is removed from the paths? That is a quantity inside the model. Whether the purchases would really have been lost without the channel, only an experiment can tell. > **Note:** Technically, the shares of one conversion add up to 1 in every model, including the “unattributed” share, which a conversion without a matching touchpoint carries in full. This is verified automatically. Attribution describes assignment, not causal effect, and that includes the data-driven model. It appears only once there are enough paths (100 paths, 20 conversions and two channels within 90 days); until then the attribution page states how far along it is. Falling back to an equal split is out of the question: “data-driven” would then sit above a number that is “linear”. ## Also asked - Which models are available on the free plan? - Which attribution models exist? - What is last click? - How does position based work? - Which model should I pick? - Data-driven attribution - Why is the data-driven model missing? - Do viewable impressions get a share under last click? - Why is a conversion unattributed under “Last non-direct click”? - Which model does the overview use? - Which model do the chat, the API and MCP use? - Do the shares always add up to 1? - Why do the models attribute different numbers of conversions? - Attributed total smaller than all conversions ## Related - https://bench.metrunio.com/en/help/modellvergleich-lesen - https://bench.metrunio.com/en/help/was-ist-ein-kontakt - https://bench.metrunio.com/en/help/attributionsfenster - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt --- --- slug: datengetriebenes-modell title: "How does the data-driven model calculate?" category: attribution locale: en updated: 2026-10-17 keywords: ["data-driven","removal effect","Markov","algorithm","threshold"] questions: ["What method is behind it, what does it require, and where does it end?","What is the removal effect?","Which algorithm is behind data-driven?","Why do I need 100 paths?","Is data-driven more accurate?","Do you use Shapley values?","Does a visit after the purchase count in the data-driven model?"] url: https://bench.metrunio.com/en/help/datengetriebenes-modell --- # How does the data-driven model calculate? **What method is behind it, what does it require, and where does it end?** It calculates the removal effect: for each channel it calculates how much less often a path leads to a conversion within the model once that channel is taken out of your paths; normalised to sum to one, that gives its share. Paths without a conversion count too, and they are exactly what sets this apart from a fixed rule. It remains an attribution: whether purchases would have failed to happen without the channel, only an experiment can tell. ## The method in four steps 1. All paths in a period form a chain: from the start through the channels to a conversion or to a drop-off. A path ends at an order or enquiry; whatever comes after it, such as the visit from the shipping email, starts a new path and gets nothing for that order. Goal steps such as a newsletter sign-up do not end a path. Clicks, visits and, with post-view switched on, viewable impressions count. Consecutive contacts with the same channel count as one. 2. From the chain follows how likely a path is to convert. That is the baseline. 3. Then one channel is removed: every path that ran through it ends without a conversion. The probability is computed again. The relative drop is that channel’s removal effect. 4. The removal effects of all channels are normalised to sum to one. Those are the shares. ## An example you can recompute One hundred paths, eighty of them converting: 60 with search only and a conversion, 20 with display then search and a conversion, 20 with display only and no conversion. | Channel | Probability without it | Removal effect | Share | | --- | --- | --- | --- | | Baseline | 0.80 | – | – | | Search removed | 0.00 | 100% | 80% | | Display removed | 0.60 | 25% | 20% | Linear would give display 12.5 per cent: half of each of the twenty converting two-contact paths, so ten out of eighty. The data-driven model gives it twenty per cent, because in the non-converting paths it stands alone and therefore differentiates. A test checks these same figures against the same function that computes your data. ## What the model requires - At least 100 paths, 20 conversions and two channels within 90 days. That is an unlock threshold, not proof that the figure is meaningful. Just above it, the number moves noticeably from day to day. - The basis is refitted once a day. Cross the threshold today and you see the model tomorrow, not within the hour. - There is no confidence interval. Publishing a range we do not measure would be invented precision; to judge stability, compare two periods. ## Where it reaches its limit - If every path runs in strict order (A first, then B, nothing else), removing any link breaks the chain. Both channels get the same share and the result equals “linear”. Correctly computed, and still no insight. - The removal effect describes how strongly a channel differentiates in the observed paths, not how much revenue it caused. Whether the purchases would have failed to happen without it is something only an experiment can say. - Channels without a measurable contact do not appear. What was not measured cannot be taken into account by this model either. > **Note:** Why Markov and not Shapley: the Shapley value would need 2^n coalitions, which with twenty channels is over a million per report. Above all, in its usual formulation it only knows channels from converting paths; paths without a conversion would not enter at all, and half the benefit would be lost. ## Also asked - What is the removal effect? - Which algorithm is behind data-driven? - Why do I need 100 paths? - Is data-driven more accurate? - Do you use Shapley values? - Does a visit after the purchase count in the data-driven model? ## Related - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/modellvergleich-lesen - https://bench.metrunio.com/en/help/experimente --- --- slug: attributionsfenster title: "What are the click window and view window?" category: attribution locale: en updated: 2026-10-14 keywords: ["click window","view window","lookback","attribution window"] questions: ["How long does a touchpoint before the conversion count?","Change the attribution window","How long does a click count?","Lookback window","Post-view window"] url: https://bench.metrunio.com/en/help/attributionsfenster --- # What are the click window and view window? **How long does a touchpoint before the conversion count?** The click window sets how long a click before the conversion still counts (30 days by default); the view window does the same for a viewable impression (one day by default). You set both under “Settings”, together with the default model. | Window | Applies to | Default | Configurable | | --- | --- | --- | --- | | Click window | clicks and website contacts | 30 days | 1 to 90 days | | View window | viewable impressions (post-view) | 1 day | 1 to 30 days | The view window is deliberately short by default. A viewable impression without a click is a weak signal; the longer the window, the more conversions receive a post-view share without the effect becoming any better evidenced. The window is the only time limit there is. A quiet spell between two visits limits nothing: if a calm month sits between the click and the purchase, the click still counts as long as it falls inside the click window. The same goes for funnel steps: whether a click before “signed up” receives a share is decided by the click window, not by the gap between two steps. > **Caution:** Changing the windows retroactively changes which contacts count. Compare periods only with the same setting. Otherwise you are comparing two rules rather than two weeks. ## Also asked - Change the attribution window - How long does a click count? - Lookback window - Post-view window ## Related - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/warum-plattformzahlen-abweichen - https://bench.metrunio.com/en/help/post-view-verstehen - https://bench.metrunio.com/en/help/funnel-bericht-lesen --- --- slug: post-view-verstehen title: "What is post-view and what does it tell me?" category: attribution locale: en updated: 2026-10-14 keywords: ["post-view","view-through","display","viewable impression","no click"] questions: ["Why should I count viewable impressions without a click?","What does post-view mean?","View-through conversion","Is display worth it?"] url: https://bench.metrunio.com/en/help/post-view-verstehen --- # What is post-view and what does it tell me? **Why should I count viewable impressions without a click?** Post-view means: a viewable ad that was not followed by a click is linked to a later order or lead and taken into account by your model. That gives a number to contacts click measurement cannot see, display in particular; it only works where your own tag runs, both sides have consented and the browser returns the view identifier. Viewable impressions receive a share from the Pro plan, and how much they count is decided by model and view window. ## What post-view can do Whether display and video advertising came before an order or lead without a click only becomes visible once the viewable impression is measured. Counting clicks alone leaves that part of the budget without a number. Post-view gives it one: as a separately reported figure, not as a quiet upgrade. How the attribution changes when these contacts are included is shown by the model comparison in your own data. It does not show how many additional purchases the advertising caused. That is what an experiment examines. ## Where it ends - Post-view is only measurable where your own impression or viewability tags may be served. - A served impression is not automatically viewable. Only viewable ones count. - Closed platforms do not allow independent tags everywhere. - A viewable impression only reaches the purchase if the browser keeps the view identifier: Chrome and Edge do, Safari, Firefox and Brave do not. How large that share is for you is shown as post-view coverage next to the share. - Where signals are missing, we do not invent touchpoints. - Attribution describes assignment, not cause. > **Note:** The decision point: compare click-only against post-view before you move budget. The difference between the two is the actual statement, not the post-view figure on its own. ## Also asked - What does post-view mean? - View-through conversion - Is display worth it? ## Related - https://bench.metrunio.com/en/help/post-view-messung - https://bench.metrunio.com/en/help/keine-post-view-touchpoints - https://bench.metrunio.com/en/help/viewability-tag - https://bench.metrunio.com/en/help/messgrenzen --- --- slug: keine-post-view-touchpoints title: "Why do I see no post-view touchpoints?" category: attribution locale: en updated: 2026-10-14 keywords: ["post-view","missing","viewability","impression ID","troubleshooting"] questions: ["Viewable impressions do not appear in journeys. Why is that?","Post-view missing","Viewable impressions have no effect","No view-through conversions"] url: https://bench.metrunio.com/en/help/keine-post-view-touchpoints --- # Why do I see no post-view touchpoints? **Viewable impressions do not appear in journeys. Why is that?** Post-view needs its own viewable impression signal. Without the viewability tag, or with a mismatched impression ID, no post-view contact is created. 1. Check that both the impression pixel and the viewability tag are built into the creative. 2. Both elements must receive the same impression ID through the ad server macro. 3. Only viewable impressions (at least 50 per cent of the area for one second) count as a post-view touchpoint. 4. Check the view window under “Settings” in the “Measurement rules” section; by default it is one day. 5. Check that marketing consent was in place. Without it no advertising event and no view identifier is created. The pixel needs `c=1`, the tag `data-metrunio-consent="granted"`. 6. Check the post-view coverage under “Channels & attribution”: it says, by channel and browser family, how many of your viewable impressions could be linked to a visit at all. Safari, Firefox and Brave sit at zero there. That is the browser, not your installation. 7. Check that pixel, tag and embed code name the same measurement address. After setting up your own measurement domain all three must be replaced, otherwise the view identifier never comes back. > **Note:** Check your plan first: the free “Start” plan does not include post-view attribution and does not measure impressions. The impression pixel and the viewability tag are not accepted there; the diagnosis then shows IMPRESSIONS_NOT_IN_PLAN. Viewable impressions from before, for example from the trial, remain in your data and receive no share. How many there are is shown under “Channels & attribution”. > **Note:** Closed platforms do not allow independent impression tags everywhere. Where signals are missing, we do not invent touchpoints. ## Also asked - Post-view missing - Viewable impressions have no effect - No view-through conversions ## Related - https://bench.metrunio.com/en/help/post-view-messung - https://bench.metrunio.com/en/help/viewability-tag - https://bench.metrunio.com/en/help/makros-adserver - https://bench.metrunio.com/en/help/attributionsfenster --- --- slug: modellvergleich-lesen title: "How do I read the model comparison?" category: attribution locale: en updated: 2026-10-14 keywords: ["model comparison","spread","interpretation","identical","no difference"] questions: ["Seven models distribute the same conversions differently. How do I read the comparison?","Why do I only see one model?","Which model is correct?","Compare models","What does the spread tell me?","Why does every model return the same value?","All models show the same number","Model comparison shows no differences","The models show different numbers","Seven different numbers for the same week","Why do I only see six models?","Compare two models","What does the change in percentage points mean?","What does “Unattributed” mean in the model comparison?","Where do I see all models?","What does “View touchpoints” show?","What does the “Range” column mean?","How much does a channel depend on the model?"] url: https://bench.metrunio.com/en/help/modellvergleich-lesen --- # How do I read the model comparison? **Seven models distribute the same conversions differently. How do I read the comparison?** The page compares two models on the same conversions: per channel, the share under model A (your default model) and under model B, plus the change in percentage points. The differences come from the distribution rule and are no evidence of additional advertising effect. > **Note:** The model comparison is available from the Pro plan. On the Start plan it is replaced by one model, plus a sentence that names, from your data, which channel would shift most under another model. ## Two models side by side - Model A is your default model from “Settings”; model B defaults to “Click before view”, or to “First touch” without post-view, because the two click models then calculate alike. You can choose both. - Share A and share B refer to all conversions the model distributed, including the unattributed ones. The “Unattributed” row appears as soon as either model has any. - The change is share B minus share A in percentage points: 20 per cent and 25 per cent give +5.0 percentage points, not +25 per cent. - “View touchpoints” opens the journeys with a touchpoint via that channel, in the same period. - Period, conversion type, both models and the post-view setting are stated in one line above the table. The choice is part of the address and can be saved as a view; it does not change the default model. > **Caution:** The differences come from the distribution rule. They are no evidence of additional advertising effect, and the page derives no budget recommendation from them. Whether a channel causes additional purchases is a question for an experiment. “Unattributed” means conversions the model could not attribute to any touchpoint: none was measured, all measured ones lay outside the attribution windows, or the model does not consider the ones there are, such as viewable impressions under “Last non-direct click”. The same set carries the same name in the overview, the conversion list and the model comparison, and always refers to the selected model. All models side by side are one click away under “All models and method”: the same table as before, with post-view and click only, the basis per model and the removal effect. The last column, “Range”, gives the smallest and the largest share per channel across the models in the table, such as “12.0–18.5”. The wider it is, the more the channel’s figure depends on the choice of model; it does not prove any effect. Shares have one decimal place because a model splits a conversion across several touchpoints. What follows applies to the table. | Observation | What it says about the channel | | --- | --- | | Strong on “first touch”, weak on “last touch” | often stands at the start of paths | | Weak on “first touch”, strong on “last touch” | often stands just before completion | | Similar across all models | its figure hardly depends on the model choice | | Visible only with post-view | the conversions are preceded mainly by viewable impressions without a click; whether they had an effect only an experiment shows | One model is rarely enough for a budget decision. The more useful question is: does the model choice change my decision? If not, the decision is robust. If it does, the decision is an assumption and should be named as one. > **Caution:** Choosing a model afterwards because it delivers the desired result is not analysis. Fix the model before the comparison and document the choice. If all models return exactly the same value, that is not a calculation error. It happens when no journey holds more than one attributable touchpoint: a model with nothing to distribute distributes the same way in every variant. The portal says so explicitly in that case. If only six columns appear instead of seven, the data-driven model is missing. It is the only one that needs the whole set of paths, and it appears once there are enough of them, including paths without a conversion. The basis for it is recalculated once a day: if you cross the threshold today, the model appears the next day, not within the hour. While it is missing, nothing is distributed evenly as a substitute. When the models do not differ, these four steps lead to the cause: 1. Open the journey list and check how many journeys hold more than one touchpoint. 2. If almost none do, signals are missing: check under “Data status” whether events were blocked without consent or not stored because of an invalid format. 3. Check under “Setup” whether every channel reports impressions and clicks. A channel without measurement appears in no journey. 4. Widen the click window if your purchase decision typically takes longer than the configured period. ## Also asked - Why do I only see one model? - Which model is correct? - Compare models - What does the spread tell me? - Why does every model return the same value? - All models show the same number - Model comparison shows no differences - The models show different numbers - Seven different numbers for the same week - Why do I only see six models? - Compare two models - What does the change in percentage points mean? - What does “Unattributed” mean in the model comparison? - Where do I see all models? - What does “View touchpoints” show? - What does the “Range” column mean? - How much does a channel depend on the model? ## Related - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/post-view-verstehen - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/experimente - https://bench.metrunio.com/en/help/gespeicherte-ansichten --- --- slug: attribution-neu-berechnen title: "When are attribution shares recalculated?" category: attribution locale: en updated: 2026-09-30 keywords: ["attribution run","recalculate","retroactive","refresh"] questions: ["I changed the settings. Why do I still see the old numbers?","Why do numbers change retroactively?","Attribution run","Numbers are not updating","Why did the figures under “Last non-direct click” change?"] url: https://bench.metrunio.com/en/help/attribution-neu-berechnen --- # When are attribution shares recalculated? **I changed the settings. Why do I still see the old numbers?** Attribution shares are produced in runs, not on every page load. After changing the model or windows, the new values apply from the next run; late-arriving contacts also change an already calculated journey. - A change to the model or windows takes effect from the next attribution run. - Late events (for example from a locally buffered batch) can complete a journey after the fact. - An executed Article 17 deletion retroactively reduces shares already reported. - Refunds change the value of a conversion, not its attribution. - When a calculation rule changes, the background run recalculates the affected conversions. Most recently on 25 September 2026: “Last non-direct click” no longer gives viewable impressions a share; conversions where it did are recalculated. > **Note:** Past figures being able to change is intended: a report that ignores late-arriving evidence is stable but wrong. ## Also asked - Why do numbers change retroactively? - Attribution run - Numbers are not updating - Why did the figures under “Last non-direct click” change? ## Related - https://bench.metrunio.com/en/help/attributionsfenster - https://bench.metrunio.com/en/help/wie-lange-bis-daten - https://bench.metrunio.com/en/help/betroffenenrechte --- --- slug: experimente title: "How do I measure what the advertising actually achieved?" category: attribution locale: en updated: 2026-10-17 keywords: ["experiment","incrementality","effect","holdout","switchback","switchback trial","geo","confidence interval","Growth","Scale","plan"] questions: ["Can Metrunio measure the effect of advertising, not just assign it?","Measure incrementality","What does the channel really contribute?","Holdout test","A/B test for advertising","Causal advertising effect","Which plan includes experiments?","Why are experiments locked for me?","Which plan includes the switchback trial?","Is my Meta advertising worth it at all?","Pause advertising and compare","On-off test for advertising"] url: https://bench.metrunio.com/en/help/experimente --- # How do I measure what the advertising actually achieved? **Can Metrunio measure the effect of advertising, not just assign it?** With an experiment: the switchback trial is available from Growth, two campaign groups from Scale and on the agency plan. An experiment compares two groups that should differ in exactly one thing and measures the difference along with its uncertainty. Attribution does not answer this: it says which touchpoint a conversion is credited to, not whether it would have happened without the advertising. > **Note:** The switchback trial comes with Growth, two campaign groups with Scale and the agency plan. On Start and Pro, “Experiments” shows in the navigation with a lock; the page there says what it does and leads to “Plan & usage”. On Growth, “Two campaign groups” shows in the selection with a lock “from Scale”. The “measured” level under “Check budget” comes only from two campaign groups. Experiments you created stay stored and reappear as soon as your plan includes them. | Design | What is compared | For what | From plan | | --- | --- | --- | --- | | Switchback trial (on and off) | periods of the same scope | Does this channel contribute at all? | Growth | | Two campaign groups | two groups in the same period | Which of the two setups works? | Scale | 1. Open “Experiments” and create one with a hypothesis: what you expect, written down before the result. 2. For the switchback trial, enter the periods when the advertising ran and when it was off. Switch at least twice. 3. For the group comparison, assign each group its campaigns. 4. Wait out the period and read the result. It states the verdict in one sentence, the numbers behind it, and the caveat. ## What “no measurable difference” means A full result, not an error and not a placeholder. It means: the observed difference cannot be told apart from noise. Metrunio then extrapolates nothing either. “Plus four per cent” from twelve conversions reads like a result and is not one. > **Caution:** For small shops a switchback trial often ends with “no measurable difference” or “not enough data yet”. It takes at least 100 opportunities per group and 10 conversions in total, and considerably more for a narrow interval. With around 100 orders a month, the difference made by a single campaign is usually smaller than the noise. The result then says “not shown”, not “does not work”. The planning from “Check budget” tells you beforehand how long the trial would need to run at your pace. ## Why this is not a geo experiment There is no separate design for it, because Metrunio does not know the region of a visit: it stores no IP address. If you target geographically, split your campaigns into two groups; then “two campaign groups” measures exactly that. It is not a geo experiment in the strict sense: that would need a control region with no ad exposure at all, and Metrunio would only see its purchases if measurement ran there anyway. Comparing two advertised groups tells you which did better, not what would have happened without advertising. The region sits in the campaign instead of in a guessed attribution. > **Caution:** No calculation can check whether the groups differed only in the thing being tested. A promotion, a public holiday, a press mention: all of it would land in the result. The caveat therefore sits on every result, so that it travels with it when you pass it on. > **Note:** The confidence interval follows from the principle that every figure says what it rests on: it states explicitly how certain a measured number is. Without an interval the difference would be a claim. ## Also asked - Measure incrementality - What does the channel really contribute? - Holdout test - A/B test for advertising - Causal advertising effect - Which plan includes experiments? - Why are experiments locked for me? - Which plan includes the switchback trial? - Is my Meta advertising worth it at all? - Pause advertising and compare - On-off test for advertising ## Related - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/messgrenzen - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt - https://bench.metrunio.com/en/help/budget-entscheiden - https://bench.metrunio.com/en/help/tarife --- --- slug: nachkauf-frage title: "How do I ask customers after a purchase how they found me?" category: attribution locale: en updated: 2026-10-15 keywords: ["post-purchase question","survey","post-purchase survey","self-reported","thank-you page","podcast","recommendation","word of mouth","TV","AI assistant"] questions: ["Can Metrunio ask after a purchase how someone heard about us?","How did you hear about us?","Survey after checkout","Can the post-purchase question use the formal address?","Set up a post-purchase survey","How do I see purchases from podcasts, radio or TV?","How do I see recommendations and word of mouth?","Ask customers where they came from","What does “self-reported” mean?","Is the post-purchase question available for Shopify or Shopware?","Is the post-purchase question anonymous?","Do I have to mention the post-purchase question in my privacy notice?"] url: https://bench.metrunio.com/en/help/nachkauf-frage --- # How do I ask customers after a purchase how they found me? **Can Metrunio ask after a purchase how someone heard about us?** With the post-purchase question, on every plan. You switch it on under “Settings → Measurement rules” and call `metrunio.renderSurvey()` with the order number on your thank-you page. The answers appear as “self-reported” under “Channels & attribution”: next to what is measured, never in revenue and never in an attribution. Some routes to you leave no signal: a podcast, a recommendation from a friend, a poster, an answer from ChatGPT. Measurement then only sees the purchase, and it stays unattributed. The post-purchase question collects the missing information where someone can give it: on the thank-you page, with the question “How did you hear about us?”. ## Setting it up 1. Switch on the answers under “Settings → Measurement rules → Post-purchase question”. Until then, Metrunio rejects them. 2. On your thank-you page, after the tracking code, add a placeholder and call `metrunio.renderSurvey()` with the order number. The example is below and in the portal. 3. Place a test order and answer the question. The answer then appears under “Channels & attribution” and in the order’s journey. ```html
``` - The order number must be the same as for the purchase. Only then does the answer sit next to the measured purchase. - If you add Metrunio through Google Tag Manager, queue the call instead of making it directly: `(window.metrunioQueue = window.metrunioQueue || []).push(['renderSurvey', '#metrunio-frage', { orderId: '10045' }]);`. It runs as soon as the SDK has loaded. - Use `answers` to narrow the list, for example `answers: ['podcast_radio', 'recommendation', 'search', 'other']`. The order stays that of the fixed list. - The language follows the page’s `lang` or the `locale` option: German, English, Spanish or French. - The widget uses the informal address, as Metrunio does. If your shop addresses customers formally, set `formal: true`: in German it then asks “Wie haben Sie von uns erfahren?”, and in Spanish it uses “usted”. English has no difference; French is always formal. - The widget takes on your page’s font and colour. Adjust it with the classes `metrunio-survey`, `metrunio-survey-question` and `metrunio-survey-answer`. - If your thank-you page already asks its own question, report the answer with `metrunio.survey({ orderId, answer })`. `answer` is a key from the list below. ## The answers | Key | Answer on the page | | --- | --- | | search | Search engine, such as Google | | social | Instagram, Facebook or TikTok | | video | YouTube | | recommendation | Recommendation from friends or acquaintances | | podcast_radio | Podcast or radio | | tv | TV | | newsletter | Newsletter | | influencer | Influencer or blog | | ai_assistant | ChatGPT or another AI assistant | | print | Newspaper, magazine or poster | | returning | I have been shopping here for a while | | other | Other | > **Note:** There is no free-text field. “Other” is an answer without input: in free fields, people write names, addresses and complaints about the delivery, and none of that belongs in your measurement data. ## What the report shows - Per answer, how often it was given and its share of all answers. - The answer rate: answers relative to the measured purchases in the period. With ten answers, a share of 40 percent says little; that is why the rate is always shown. - Per answer, how many of those purchases are attributed, how many are not, and how many answers match no measured purchase. This shows whether “podcast” turns up where measurement found nothing. - An order’s journey shows the answer as a line of its own. - In the chat and via MCP you query the same figures, with the same label. The answers are labelled “self-reported”. That someone answered is measured; what they say is their own account. They never appear in revenue, in an attribution or in any model, and they are not extrapolated to the purchases without an answer. A self-report is not a measured touchpoint: someone who says “podcast” may also have seen an ad. ## Consent and retention - Only with consent to analytics. Without it, the widget shows nothing rather than asking for an answer that would not arrive; `metrunio.survey()` discards it. - One answer per order. The first one counts; a second one for the same order number is not stored. - The answer is attached to the event it arrived with. When the retention period ends, when someone withdraws consent or when you delete a person’s data, it goes too. ## What you tell your customers The post-purchase question is not an anonymous survey. The answer is stored with the order number and the browser’s visitor identifier, and Metrunio links it to the order and its journey. That belongs where people look it up: in your privacy notice and in the description of analytics consent in your cookie banner. State the purpose (“how customers become aware of us”), that the answer is linked to the order, and how long it is kept, namely as long as the rest of your measurement data. > **Legal note:** The question only appears with consent to analytics. Whether that consent also covers the post-purchase question depends on what your banner says about analytics; you check that as the controller. A checkbox of its own is not automatically needed for this, nor is a new data processing agreement: the answer is a measurement event like a page view. ## Shopify and Shopware The widget works on any thank-you page where you can add code of your own. The Shopify app, the Shopware plugin and the WordPress plugin do not include it. On the Shopify thank-you page the question would need a checkout extension, in Shopware a block in the plugin. ## Also asked - How did you hear about us? - Survey after checkout - Can the post-purchase question use the formal address? - Set up a post-purchase survey - How do I see purchases from podcasts, radio or TV? - How do I see recommendations and word of mouth? - Ask customers where they came from - What does “self-reported” mean? - Is the post-purchase question available for Shopify or Shopware? - Is the post-purchase question anonymous? - Do I have to mention the post-purchase question in my privacy notice? ## Related - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/sdk-api - https://bench.metrunio.com/en/help/wie-entsteht-journey - https://bench.metrunio.com/en/help/aufbewahrung --- --- slug: abo-folgezahlungen title: "How does Metrunio count subscription renewals?" category: attribution locale: en updated: 2026-10-16 keywords: ["subscription","renewal","recurring payment","subscription_id","subscription_renewal","invoice.paid","recurring revenue"] questions: ["How do I mark subscription renewals, and which channel are they attributed to?","Measure subscription renewals","Attribute recurring payments","Track subscription renewals","Do renewals from Stripe count as conversions?","Which channel gets the second monthly payment?","Why is a renewal not attributed?","What does “the first order of this subscription is not known” mean?","Does a renewal count as a new customer?","How do I see only renewals?","Are renewals sent back to Google Ads or Meta?"] url: https://bench.metrunio.com/en/help/abo-folgezahlungen --- # How does Metrunio count subscription renewals? **How do I mark subscription renewals, and which channel are they attributed to?** You report a renewal as a purchase with the subscription ID (subscription_id) and the flag subscription_renewal; Metrunio marks renewals from Stripe itself. It counts in measured revenue, appears separately in the reports and receives the shares of the first order of the same subscription, because it has no ad contact of its own. Without a known first order or without consent, it stays unattributed with a reason. A customer takes out a subscription in March after clicking an Instagram ad. In April, May and June your shop charges the next payment without her visiting your website. Who gets the revenue from these payments? Metrunio attributes it to the channel the first order is already attributed to: every renewal takes over the shares of the first order of the same subscription. ## How to mark renewals - Server Events API: send each payment as a purchase with its own order number, plus subscription_id and subscription_renewal: true. The first order carries the same subscription_id, without the flag or with subscription_renewal: false. - Stripe: also select invoice.paid for the webhook. Metrunio then counts every renewal (billing_reason subscription_cycle) as a renewal and recognises the first order by the checkout in subscription mode. The first invoice of a subscription does not count a second time next to the checkout. - SDK in the browser: metrunio.conversion({ orderId, value, currency, subscriptionId, subscriptionRenewal: true }). You only need this when a renewal is confirmed in the browser; usually it comes from the server. - Shopware from plugin 1.3.0 (Shopware Subscriptions) and WordPress from plugin 1.0.1 (WooCommerce Subscriptions) send the subscription ID and the flag themselves. A renewal there is created without a visit and therefore arrives without consent, like those from Stripe: measured, flagged, never attributed. The Shopify app does not send the flag yet; until it does, its renewal orders count as ordinary purchases. ```json { "event_id": "abo-77-rate-2026-10", "event_type": "purchase", "occurred_at": "2026-10-01T06:00:00Z", "order_id": "R-2026-10-77", "subscription_id": "abo-77", "subscription_renewal": true, "value": "29.00", "currency": "EUR", "user_id": "4711", "consent_state": "granted", "consent_purposes": ["analytics", "marketing"] } ``` A renewal is never a customer’s first order. If you send new_customer: true with it, Metrunio does not accept it and names the field; the two fields do not belong on a lead or a funnel step either. ## How it is attributed Metrunio looks for the first order of the same subscription: the earliest purchase with the same subscription_id and without the flag, on the same website and in the same environment. In every model the renewal receives the same shares as that order and distributes its own value with them. If the first order gave 40 percent to Paid Search and 60 percent to Paid Social, a payment of €30 gives €12 to Paid Search and €18 to Paid Social. When the first order is recalculated, its renewals follow. Touchpoints before the renewal itself do not count for this. If the customer opens her account through your newsletter before the payment, the newsletter gets nothing from that payment: it would have come anyway. ## When it is not attributed - “The first order of this subscription is not known”: the subscription started before Metrunio measured, the subscription_id is missing, or the first order arrived without consent and therefore without the subscription ID. If you report older first orders through a backfill, the renewals are recalculated. The same applies when the first order is deleted, on request or because its retention period ends: its renewals are then recalculated right away and lose the channel they took over. - “The first order of this subscription is not attributed to any touchpoint”: it has no channel itself. It shows the reason. - “No consent”: the renewal arrived without consent for revenue reconciliation. It is measured and marked but never attributed, not even through the first order. Every renewal from Stripe arrives this way, because an invoice carries no reference from the browser. ## In the reports - Overview: below the key figures you see how many renewals arrived in the period, with their measured and their attributed revenue. Both are included in the revenue above. - Attribution: the column “Of which renewals” shows the attributed revenue from renewals for each row. - Orders & goals: a renewal carries the note “Subscription renewal”; “Renewals only” shows them on their own. - Export and read API: folgezahlungen_zugeordnet and umsatz_folgezahlungen_zugeordnet in the attribution export, folgezahlung and abo in the conversion export, isRenewal and subscriptionId in the read API. The data assistant and connected AI tools see only the flag, not the subscription ID. - New customers: CAC and new customer costs do not count renewals. In the new customer share they count as orders by existing customers, in cohorts as repeat purchases. If a customer’s first measured purchase is already a renewal, they are in no cohort. - Ad platforms: a renewal is not sent back to Google, Meta or others as a conversion; the pushback log names the reason. > **Note:** Attributed revenue from a renewal does not prove an effect. It tells you which channel the first order of the subscription is attributed to, not that the payment would have stopped without it. ## Also asked - Measure subscription renewals - Attribute recurring payments - Track subscription renewals - Do renewals from Stripe count as conversions? - Which channel gets the second monthly payment? - Why is a renewal not attributed? - What does “the first order of this subscription is not known” mean? - Does a renewal count as a new customer? - How do I see only renewals? - Are renewals sent back to Google Ads or Meta? ## Related - https://bench.metrunio.com/en/help/stripe-und-paypal - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet - https://bench.metrunio.com/en/help/neukundenkosten-und-deckungsbeitrag - https://bench.metrunio.com/en/help/kohorten-und-amortisation - https://bench.metrunio.com/en/help/csv-export --- --- slug: berichte-ueberblick title: "Which reports are available?" category: berichte locale: en updated: 2026-10-15 keywords: ["reports","dashboard","analysis","overview"] questions: ["What can I analyse in the portal?","Which reports exist?","What do I see on the dashboard?","Can I analyse by channel?","Where do I find the breakdown by campaign?","What does “Not tied to a campaign” mean?","Why is the row without a campaign the largest?","Why do attributed conversions have a decimal place?","What does “Revenue measured” on the overview mean?","What is “What you can check next”?","How do I choose the model for the reports?"] url: https://bench.metrunio.com/en/help/berichte-ueberblick --- # Which reports are available? **What can I analyse in the portal?** The reports are in the sidebar: Overview, Customer journeys, Channels & attribution with its breakdown and model comparison, Orders & goals, plus Check budget, Platform reconciliation, Data status and Events, among others. In the period row at the top you choose the period and the model and, once your account measures more than one website, the website. | Report | Answers | | --- | --- | | Overview | How much revenue is measured, how much of it attributed to a channel, what did advertising cost? Plus the daily trend and check steps drawn from your data. | | Customer journeys | Which contacts preceded an order or lead? | | Channels & attribution | How does revenue split across channel, source, campaign, ad, creative, placement or publisher site (the breakdown), with cost and ROAS? How does the choice of model shift the shares? Two models compared, all of them on demand. | | Orders & goals | Which conversions happened, with value and attribution? Plus the funnel of your funnel steps. | | Commerce & products | New-customer cost, contribution margin and products sold. The menu item appears once your shop sends the details for it. | | Check budget | What is evidenced per campaign: measured in an experiment, attributed, or not answerable? | | Platform reconciliation | Why does an ad platform report different figures from the measurement? | | Experiments | What did a campaign bring compared with a control group? From Scale. | | Data status | Is the data arriving, and what is missing? | | Events | Which events underlie a figure, and which were rejected? | > **Note:** The reports show production data. You see test data only when you explicitly switch to “Show test data” in Customer journeys, Orders & goals, Channels & attribution or Events. The period and the model carry over when you switch between reports and are readable in the address. You choose the model in the period row; the default is your account’s default model, and only a choice of your own appears in the address. “Copy link” gives you the address with every setting; under “Saved views” you store it under a name. ## The overview The overview starts with measured revenue after refunds. Next to it stands attributed revenue, with how many of the measured conversions received a share in the chosen model, then ad spend and ROAS. More key figures such as attributed conversions, CPA, CAC, post-view and attribution rate stand compactly below. Both revenue figures are after refunds; the figure before refunds and the refunds themselves are under “Measured signals”. Next to the trend stands “What you can check next”: steps drawn from your data, such as the unattributed conversions, a journey with several touchpoints, the comparison with a second model, or a cost connection whose last fetch lies more than two days before the end of the period. Each step opens its view with the period and model of the overview. Where the basis is missing, the step is missing; the card names no cause. ## The row “Not tied to a campaign” In the breakdown by campaign under “Channels & attribution”, contacts that belong to no campaign you have created stand in a row of their own at the end of the table, set off by a line: direct visits, organic search and social, referrals, AI assistants, emails without a campaign identifier, and also UTM campaigns whose name matches no campaign you have created; the page names those individually above the table. Below the row’s name you see which channels it consists of, with their attributed shares. By ad, creative, placement and source the same applies to “No ad”, “No creative”, “No placement” and “No source”. ## How figures are written - Measured quantities are whole numbers: clicks, impressions, events, unattributed conversions. - Attributed conversions are shares: a purchase with two contacts splits into 0.5 and 0.5, for instance. In tables they therefore carry exactly one decimal place, the same in every row: 265.0 above 295.5. - Amounts carry two decimal places and a currency sign. Key figure tiles may round. ## Also asked - Which reports exist? - What do I see on the dashboard? - Can I analyse by channel? - Where do I find the breakdown by campaign? - What does “Not tied to a campaign” mean? - Why is the row without a campaign the largest? - Why do attributed conversions have a decimal place? - What does “Revenue measured” on the overview mean? - What is “What you can check next”? - How do I choose the model for the reports? ## Related - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/vergleich-vorperiode - https://bench.metrunio.com/en/help/csv-export - https://bench.metrunio.com/en/help/modellvergleich-lesen - https://bench.metrunio.com/en/help/gespeicherte-ansichten --- --- slug: gespeicherte-ansichten title: "How do I save a view of a report?" category: berichte locale: en updated: 2026-10-15 keywords: ["saved view","view","favourite","bookmark","period","link","share"] questions: ["Can I save a report’s period, filters and model and open them again later?","Save a report","Save a view","Favourites in the portal","Keep the period across reports","Keep the model across reports","Share a link to a report","Why is my search not saved?","Why can I not save a view in the demo?"] url: https://bench.metrunio.com/en/help/gespeicherte-ansichten --- # How do I save a view of a report? **Can I save a report’s period, filters and model and open them again later?** Under “Saved views” next to the period selection you store the current report with its period, filters and model under a name and open it again with one click. The view belongs to you alone and does not change the tenant’s default model. 1. Set the period and filters, and on the attribution page both models. 2. Open “Saved views” below the period selection, enter a name and choose “Save view”. 3. To open it again, choose its name in the same list; “Delete” removes the view. - What is saved is what the address holds: period, environment, conversion type, level, filters (including viewable impression, first channel, campaign and raw-data status), sorting and models. Whatever does not go along is named when you save. - The search is not saved. An order number belongs to a customer of the shop and has no place in a view that is kept for good. - A view is personal: other people in the tenant do not see it. To share, use “Copy link”. - A view with a model does not change the default model under “Settings”. It only opens the address with that model. - At most 50 views per person and tenant. The period and the chosen model carry over when you switch between reports: from attribution to journeys, from journeys to the overview, and to “Ask your data” as well. Both are then readable in the address, for example “?range=90d&model=linear”. A bookmark or link that names a period or a model itself shows exactly that; an address without a period shows the last 30 days, one without a model uses your account’s default model. > **Note:** Views cannot be saved in the demo; it is read-only. “Copy link” works there as well. ## Also asked - Save a report - Save a view - Favourites in the portal - Keep the period across reports - Keep the model across reports - Share a link to a report - Why is my search not saved? - Why can I not save a view in the demo? ## Related - https://bench.metrunio.com/en/help/berichte-ueberblick - https://bench.metrunio.com/en/help/modellvergleich-lesen - https://bench.metrunio.com/en/help/journey-explorer - https://bench.metrunio.com/en/help/csv-export --- --- slug: roas-und-kennzahlen title: "Which metrics exist and how are they calculated?" category: berichte locale: en updated: 2026-10-17 keywords: ["ROAS","CPA","CAC","purchase ROAS","conversion rate","metric","revenue","cost","attribution rate","match rate","data coverage","acquisition value"] questions: ["How are ROAS, CPA and conversion rate derived?","Why do I see no ROAS?","How is ROAS calculated?","What is CPA?","What is the difference between CPA and CAC?","Why does ROAS still show when I filter to purchases?","Metrics explained","What is the attribution rate?","What was the match rate?","What does data coverage mean?","Why do attributed conversions have decimals?","Does the acquisition value count in ROAS?","How many visits does a channel bring?","Which channel brings new customers?","Conversion rate per channel","Is my advertising worth it?","Is my Meta advertising worth it?","Am I making money on Meta ads?","Margin ROAS per channel","Contribution margin per campaign","Which channel pays off after margin?"] url: https://bench.metrunio.com/en/help/roas-und-kennzahlen --- # Which metrics exist and how are they calculated? **How are ROAS, CPA and conversion rate derived?** Metrics come from measured quantities and, where attribution is involved, from the chosen model. Cost-based metrics require ad spend to have been imported or synced. > **Note:** ROAS and cost per conversion need costs. Recording costs is available from the Pro plan. Where costs for the period are missing, the tile states the reason instead of a figure. | Metric | Calculation | Layer | | --- | --- | --- | | Impressions | number of measured deliveries | measured | | Viewable impressions | number of deliveries reported as viewable | measured | | Viewability rate | viewable impressions / impressions | measured | | Clicks | number of measured clicks | measured | | Conversions | number of measured completions | measured | | Attributed conversions | sum of credits in the chosen model | attributed | | Revenue measured | sum of the amounts events brought with them, after refunds | measured | | Attributed revenue | sum of amount × credit | attributed | | Acquisition value | sum of the values you gave conversions in the portal; attributed: value × credit | set | | CPA | cost / attributed conversions | attributed, needs cost | | CAC (new customers) | cost / attributed new-customer conversions | attributed, needs cost and the customer type | | ROAS | attributed revenue / cost | attributed, needs cost | | Attribution rate | conversions with an attributable measured touchpoint / conversions in total | measured | | Visits (per channel or campaign) | visits entering through the channel, only with consent to analytics | measured | | Conversion rate (per channel or campaign) | attributed shares on visits, without post-view / visits | attributed | | New customer share (per channel or campaign) | attributed orders from new customers / attributed orders with a customer type | attributed, needs the customer type | | Margin ROAS (per channel or campaign) | attributed contribution margin of orders with cost of goods / cost | attributed, needs cost and the cost of goods | The conversion rate per channel divides the attributed shares that fall on visits from this channel by the measured visits. Shares on clicks, impressions and post-view do not count, because they have no counterpart among the visits. It is above 100% only if visits carry several conversions. It mixes two layers and is therefore called “attributed”: switch the model and it changes, the visits do not. A visit starts with the first event of a session, after a 30-minute pause or with a new campaign signal, so its count differs from other tools’ sessions. The new customer share counts only orders whose customer type is known. Leads do not count, even if your shop sends a customer type with them; if it is known for no order, no value is shown. CPA and CAC are not the same. CPA divides ad spend by all attributed conversions. That gives a price per completion, and a completion can come from a returning customer. CAC divides only by conversions of new customers. That needs the customer type: either your shop sends it with the purchase, or it is derived from our own measurement, which only knows the time since measurement began. The tile therefore states for what share of conversions the customer type is known: the figure stands on those only. If you filter the reports to one conversion type, say “purchase”, the cost stays the total of the period: ad spend is incurred for campaigns, not for a type of conversion. The numerator is then only the attributed revenue of that type. That is the purchase ROAS (purchase revenue against all cost), and the tile says what it stands on. A CPA per purchase arises the same way. Funnel steps count like any conversion, with one difference in value. If the event brings an amount, that is revenue and part of ROAS. The acquisition value from the portal is set by you: it has columns of its own and never appears in revenue or ROAS. Narrowing to a single step works the same way as narrowing to “purchase”. > **Note:** The attribution rate used to appear in the portal as “data coverage” and “match rate”. It is the same quantity everywhere: the share of conversions preceded by at least one measured touchpoint that a model could attribute. A conversion without a measured touchpoint does not count, even if it has a journey. The rate says nothing about how many events were stored overall. Events without consent are counted separately under “Blocked by consent”. Attributed conversions can carry decimals. If a model spreads one conversion across three touchpoints, each takes a third. In tables they therefore always carry exactly one decimal place (265.0 above 295.5). Key figure tiles show a whole value without decimals and a fraction with two. Monetary values are computed as decimals, not floating point numbers. That sounds technical but has a practical effect: totals are correct to the cent, even across many rows. ## Is my advertising worth it? ROAS tells you how much attributed revenue comes per euro of ad spend. Whether you make money on it depends on your margin: a ROAS of 3 is a loss at a 20 per cent margin and a profit at 60 per cent. If your shop sends the cost of goods, “Commerce & products” shows the margin ROAS, the attributed contribution margin divided by ad spend. Per channel it appears in the channel table of the overview, per channel and per campaign in the breakdown under “Attribution”. Below 1.0, the attributed orders leave less after cost of goods than the ads cost. If only some of a row’s orders carry the cost of goods, the share appears below the figure: the costs are those of the whole row, the margin only that of these orders. If the cost of goods is missing entirely or costs are missing, no value is shown, only the reason. Whether a campaign caused the orders is answered by none of these figures; only an experiment measures that (see “Which campaign actually delivered?”). > **Caution:** ROAS, CPA and CAC depend on the attribution model. State the model when you pass the figure on. Otherwise it is not comparable. The CSV export carries model, period, environment and the time of the data in every row. ## Also asked - Why do I see no ROAS? - How is ROAS calculated? - What is CPA? - What is the difference between CPA and CAC? - Why does ROAS still show when I filter to purchases? - Metrics explained - What is the attribution rate? - What was the match rate? - What does data coverage mean? - Why do attributed conversions have decimals? - Does the acquisition value count in ROAS? - How many visits does a channel bring? - Which channel brings new customers? - Conversion rate per channel - Is my advertising worth it? - Is my Meta advertising worth it? - Am I making money on Meta ads? - Margin ROAS per channel - Contribution margin per campaign - Which channel pays off after margin? ## Related - https://bench.metrunio.com/en/help/werbekosten-importieren - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt - https://bench.metrunio.com/en/help/wert-je-schritt --- --- slug: werbekosten-importieren title: "How do I import ad spend from a CSV?" category: berichte locale: en updated: 2026-10-16 keywords: ["cost","CSV","import","budget","media spend","template","platform"] questions: ["How do I get my media cost into Metrunio?","Why can I not import costs?","Upload cost","CSV import media cost","Where do I enter budgets?","Enter costs by hand","Correct a cost day","State the platform in the cost import","Which columns does the cost template have?","Why does it say costs are not set up when costs arrive via the API?","Take costs from Google Sheets automatically","Read a cost sheet every day","Why does Metrunio not read my Google sheet?"] url: https://bench.metrunio.com/en/help/werbekosten-importieren --- # How do I import ad spend from a CSV? **How do I get my media cost into Metrunio?** Under “Data connections”, in the “Receive costs” section, four routes sit side by side: connect an ad account, import a CSV file, connect a shared sheet that Metrunio reads every day, or enter single days by hand. The CSV import maps rows to a campaign and a day and can be withdrawn as a whole; a template is available for download. > **Note:** Connecting, uploading and entering costs is available from the Pro plan. On the free Start plan, costs already recorded stay, no new ones are added, and connected ad accounts stop fetching. Their card then shows “paused (not in your plan)”. Where “Connect ad account”, the import or manual entry would otherwise be, the page says which plan it takes, with the way to “Plan & usage”. At the top of the “Receive costs” section of the data connections you choose the route: connect an ad account (costs then arrive every day on their own), import a CSV file or enter by hand. The routes can be mixed. Below them is the history of your cost imports, once there is one. ## Import a CSV file 1. Open “Data connections”, go to “Receive costs”, choose “Import a CSV file” and download the template. 2. Fill in the required columns kampagne, datum and kosten per row (the English names campaign, date and cost work too). Optional are waehrung (left empty, your account’s reporting currency applies), impressionen and klicks. Reports convert costs in another currency at the ECB rate of the cost day. If the figures come from an ad platform, enter it in the “plattform” column (“platform” works too): meta, google_ads, tiktok, linkedin or microsoft_ads. 3. Choose the file and click “Check”. The check shows what could be matched and does not store anything yet. 4. If that looks right, click “Apply”. Days already recorded for the same campaign are replaced. ## Enter by hand For a single invoice or to correct a day, choose “Enter by hand”: campaign, day, amount and currency, with clicks and impressions optional. A value already stored for that day is replaced. The automatic sync with the ad account does not overwrite a manual entry, not even when you correct a day it created itself. > **Caution:** Withdrawing an import (“Revert this import”) removes the days it read in. Values the import overwrote do not come back. Earlier states are not retained. The platform is optional. With it, the reconciliation shows the figures under their platform (“Meta reports …”), without it in the combined row “Manual entry or CSV import”. The import rejects an unknown platform (“Gogle Ads”) with its line number instead of dropping it: stored silently without a platform, the costs would sit under the wrong row. ## From a shared sheet For channels without their own connection, such as a newsletter sponsorship or an affiliate network, add the address of a sheet you keep anyway under “Connect a sheet”. Metrunio reads it right away and then once a day, with the same columns as the CSV import. “Fetch now” reads it again immediately. 1. In Google Sheets: under “Share”, let “Anyone with the link” view the sheet and copy the link from the address bar. The tab named in the link is read. Or publish the sheet as CSV under “File → Share → Publish to web” and use that link. Any other https address of a CSV file works as well. 2. Enter the link under “Data connections”, “Receive costs”, “Connect a sheet” and give it a name. 3. Metrunio shows right away how many daily rows were written and which campaigns do not exist in Metrunio. Create them or name them in the sheet as in Metrunio; from the next fetch on, their costs come along. - Manual entries stay. Otherwise, for the same campaign and day the value read last applies, also over a connected ad account. So only put channels without their own connection in the sheet. - Rows that disappear from the sheet stay in Metrunio. Enter a correction in the sheet as a new value. - Anyone who knows the link can read the sheet. Metrunio therefore stores the address encrypted, like an access credential, and after connecting only shows its start and its last four characters. - Ideally, create a separate sheet or export for Metrunio with only the columns the import needs. We only take over the intended columns; when the file is fetched, further columns may still be transferred temporarily. - At most 2 MB are read, and only addresses reachable from the internet. If the address shows a sign-in page instead of the sheet, it is not shared; the card says so, and the costs read so far stay. ## Instead of a file: the interface For an ad server, a DSP, an affiliate network or an agency’s reporting there is a second route: `POST /v1/server/costs` with your server key. One row per campaign and day, daily instead of monthly. The response counts what arrived, what was written and what could not be matched to a campaign. The latter is skipped, not guessed. Figures entered by hand stay as they are. If the figures come from one of the five ad platforms, for instance from an agency’s reporting, state `platform` per row; for an ad server or a DSP leave the field out. One request carries at most 500 rows. The fields are documented in `docs/INTEGRATION-SERVER-API.md`. With `platform`, the platform’s card under “Ad platforms” then shows “arriving” and the route next to “Receive costs”, even without a connected ad account. The same API accepts per-ad costs with the creative level; the fields are listed in the article “How do I evaluate individual Meta and Google Ads ads?”. ## Also asked - Why can I not import costs? - Upload cost - CSV import media cost - Where do I enter budgets? - Enter costs by hand - Correct a cost day - State the platform in the cost import - Which columns does the cost template have? - Why does it say costs are not set up when costs arrive via the API? - Take costs from Google Sheets automatically - Read a cost sheet every day - Why does Metrunio not read my Google sheet? ## Related - https://bench.metrunio.com/en/help/waehrung-der-berichte - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/abgleich-plattformzahlen - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/kampagnenstruktur --- --- slug: kostenabgleich-plattformen title: "How do I sync ad spend automatically?" category: berichte locale: en updated: 2026-10-16 keywords: ["cost sync","connector","Meta","Google Ads","TikTok","LinkedIn","Microsoft Ads","Bing","automatic","unmatched","external ID","campaign ID"] questions: ["Can Metrunio fetch cost directly from Meta and Google Ads?","Meta cost automatically","Sync Google Ads cost","Set up a cost connector","Can I start the fetch right away?","When does the first fetch run?","Refresh costs now","Why are my costs not assigned to any campaign?","Create a campaign from Google Ads","Assign unmatched campaigns","Enter the Meta campaign ID","Why is “Fetch now” locked?","What happens to my connections after moving to Start?","Why is my connection paused with the note “not in your plan”?","Disconnect a cost connection after a downgrade","Switch the ad account in the cost sync"] url: https://bench.metrunio.com/en/help/kostenabgleich-plattformen --- # How do I sync ad spend automatically? **Can Metrunio fetch cost directly from Meta and Google Ads?** Under “Data connections” you connect an ad account, and Metrunio fetches daily cost per campaign on its own, first a few minutes after connecting, then about every six hours and retroactively, because the platforms revise their figures. “Fetch now” on the card requests an extra fetch in between. For Google Ads and Meta you sign in; for TikTok, LinkedIn and Microsoft Advertising you enter an access token, which is stored encrypted. > **Note:** Fetching costs is part of cost import and runs from the Pro plan. On the Start plan no ad account fetches costs. After a downgrade you still see your connections and can disconnect them (see “After a downgrade” below). | Property | Behaviour | | --- | --- | | Platforms | Meta, Google Ads, TikTok, LinkedIn Ads, Microsoft Advertising | | Cadence | every six hours | | First fetch | a few minutes after connecting | | Fetch now | on request, at the earliest five minutes after the last fetch | | Lookback | configurable number of days, because platforms revise figures | | Matching | by the external ID (the platform’s campaign ID), falling back to the name, case-insensitive and with whitespace collapsed | | Unmatched | skipped, not guessed; the card lists the campaigns and you assign them there | | Manual entries | never overwritten | | Test mode | fetches and counts the costs but writes nothing until you apply them | 1. Open “Data connections”, go to the “Receive costs” section and click “Connect ad account”. 2. Pick the platform. For Google Ads and Meta you sign in and then choose the ad account from a list; for the others you enter the account ID and an access token. 3. The connection starts in test mode: after the first fetch its card shows how many rows were fetched and which campaigns could not be matched to a campaign in Metrunio. 4. Assign those campaigns under “Unmatched campaigns” (see below). If that looks right, click “Apply costs”. The next fetch follows within a few minutes and writes the costs. 5. You can pause, switch accounts or change the lookback at any time under “Edit”; “Disconnect” deletes the stored access, costs already fetched stay. If the connection runs through the Google Ads or Meta sign-in, you switch accounts under “Edit” with “Choose an account from the existing sign-in”: you pick from the accounts that sign-in shares, with no new dialog at the platform. If the account belongs to a different login, use “Sign in with another Google account” (or Meta). The details are under “Where do I get the advertising platforms’ credentials?”. > **Caution:** The token goes in but never comes back out. Only the last four characters are shown: enough to tell which account is meant, too little to use it. ## Fetch now If you changed something in the ad account or fixed an error at the platform, you do not have to wait for the next six-hour run: “Fetch now” on the card requests a fetch. The card shows “Fetch requested” until it has run (usually within a few minutes), and then the result. The same happens on its own when you connect an ad account, resume a paused connection, leave test mode or change the access, the account or the lookback. > **Note:** After a fetch, no further one can be requested for five minutes; until then the button reads “Available again from …” with the time. Every fetch counts against your quota at the platform, and the platforms do not update their figures by the minute anyway. A paused connection and one without access fetch nothing, even on request. ## Assigning unmatched campaigns Metrunio does not create campaigns on its own. A campaign’s channel decides which channel its conversions are attributed to, and a Google Ads campaign can be search, display or video. That is not guessed. Costs of a platform campaign that matches no campaign in Metrunio therefore stay out until you assign it. 1. Open “Data connections” and, in the “Receive costs” section, expand “Unmatched campaigns” on the platform’s card. Each campaign is listed with its name, its platform ID and its cost in the fetched period, the most expensive first. 2. If the campaign already exists in Metrunio, choose “Assign to …” and the campaign. Active campaigns without an external ID are offered. 3. Otherwise choose “Create as campaign”. The name is prefilled with the platform’s; you pick the channel yourself. The usual one for this platform is shown next to it. 4. Either way the campaign gets the platform ID as its external ID, and a fetch is requested right away, even within the five minutes after the last one. A few minutes later the campaign has left the list. > **Note:** A campaign carries exactly one external ID, and an ID belongs to exactly one campaign. If the same ads run on two platforms, create one campaign per platform. You change the ID of an existing campaign under “Campaigns” with “Change ID”. Matching by name also works when names differ only in case, in double or non-breaking spaces or in how an umlaut is encoded. Hyphens and other punctuation do count: “Sale – DE” and “Sale - DE” can be two campaigns. The ID is safer than any name, because it does not change when a campaign is renamed. If two platform campaigns match the same campaign in Metrunio, one by ID and one by name, their costs are added up per day. > **Note:** The list shows at most the 200 most expensive campaigns of a fetch and appears only after the first fetch since 28 September 2026; before that the card shows only their number. ## When a source has not delivered yet If an enabled connection has not yet delivered for the end of the period (its last successful fetch is more than two days earlier, or it has never delivered), the overview shows no ad spend, CPA, CAC or ROAS but the reason and the source with its last fetch. A total that is too small would look like a real one. The channel comparison and the budget keep their rows and carry a notice above them; the assistant and the read API say the same. After the next successful fetch the figures are back. Connections in test mode and paused ones do not count as a source. ## After a downgrade If your plan no longer includes cost sync, for instance after moving to Start, your connections stay listed under “Data connections”. Their card shows the status “paused” in red, with the note “not in your plan”, because nothing is fetched any more, and the reason is stated above the list. Costs already recorded are kept and stay in your reports. - **Disconnect** still works if your role may change connections: the stored access is deleted, the fetched costs stay. You do not need to upgrade to tidy up. - **Locked** are Edit, “Fetch now”, Pause, “Apply costs” and assigning unmatched campaigns. You can add a new connection only once your plan includes the sync again; where the “Connect ad account” button would be, the page says which plan includes it and links to billing. - **Upgraded again**, the connections resume fetching on the next run, with their previous account and mode. Until the first fetch after the upgrade, the card may still show the note from the paused period that nothing was fetched; it disappears with the first successful fetch. ## Also asked - Meta cost automatically - Sync Google Ads cost - Set up a cost connector - Can I start the fetch right away? - When does the first fetch run? - Refresh costs now - Why are my costs not assigned to any campaign? - Create a campaign from Google Ads - Assign unmatched campaigns - Enter the Meta campaign ID - Why is “Fetch now” locked? - What happens to my connections after moving to Start? - Why is my connection paused with the note “not in your plan”? - Disconnect a cost connection after a downgrade - Switch the ad account in the cost sync ## Related - https://bench.metrunio.com/en/help/werbekosten-importieren - https://bench.metrunio.com/en/help/conversion-rueckgabe - https://bench.metrunio.com/en/help/kampagnenstruktur - https://bench.metrunio.com/en/help/anzeigen-auswerten --- --- slug: anzeigen-auswerten title: "How do I evaluate individual Meta and Google Ads ads?" category: berichte locale: en updated: 2026-10-16 keywords: ["ad","creative","creative level","utm_content","{{ad.id}}","{creative}","URL parameters","final URL suffix","ValueTrack","Meta","Google Ads"] questions: ["How do I see costs and attributed orders per ad?","See costs per ad","Switch on the creative level","Which ad had the most orders?","Set up utm_content on Meta","URL parameters in Ads Manager","ValueTrack creative in Google Ads","Put the ad ID into the link","What does not attributable mean for ads?","Why is an ad’s preview image missing?","ROAS per ad","Evaluate Performance Max per ad","Final URL suffix with utm_content"] url: https://bench.metrunio.com/en/help/anzeigen-auswerten --- # How do I evaluate individual Meta and Google Ads ads? **How do I see costs and attributed orders per ad?** With the creative level, Metrunio fetches costs, impressions and clicks per ad from Meta and Google Ads and attributes to an ad the visits whose link carries its ID in `utm_content`: `utm_content={{ad.id}}` on Meta, `utm_content={creative}` on Google Ads. Without that ID a visit is listed under “Not attributable”. If the “Ads” column is missing from the campaign breakdown under “Attribution”, the creative level has not yet been enabled for your account. > **Note:** The creative level is built but stays switched off for customers until it has been checked with real ad accounts. Once it is enabled for your account, the campaign breakdown under “Attribution” shows the “Ads” column. You can already put the ID into your links beforehand. Attribution only starts once it is switched on, though: a visit from before does not get its ad afterwards. ## What the “Ads” view shows For each ad in a campaign, three kinds of figures sit side by side, and each column says which kind it is: | Column | Kind | Source | | --- | --- | --- | | Cost, impressions, clicks | reported | from the per-ad cost fetch at Meta or Google Ads; the platform says it about itself | | Visits | measured | visits with this ad’s ID in the link, only with consent to analytics | | Conversions, revenue | attributed | the shares of orders or enquiries that the model gives to the visits with this ad | | ROAS | attributed | attributed revenue divided by the ad’s reported cost | Below them is “Not attributable”: what the campaign received without an ID in the link, or with one that matches none of its ads. Above the table you see what share of visits carried a matching ID. If it is small, the parameter is missing from some of your ads. The “Campaign total” row shows the same figures as the campaign under “Attribution”. The ad costs do not always add up to the campaign costs. What the platform assigns to no ad, for example with Performance Max or deleted ads, appears only in the campaign total, and so does a correction entered by hand. The view then states both totals. ## Putting the ad ID into the link 1. Meta: in Ads Manager, open the ad, go to “URL parameters” under “Tracking” and add `utm_content={{ad.id}}`, for example `utm_source=facebook&utm_medium=paid_social&utm_campaign={{campaign.id}}&utm_content={{ad.id}}`. Meta inserts the ad’s ID when it serves the ad. 2. Google Ads: in the account settings, enter `utm_content={creative}` under “Final URL suffix”, for example `utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_content={creative}`. Google inserts the ad’s ID on the click. At account level the suffix applies to all campaigns. 3. For Metrunio to find the campaign, `utm_campaign` names it as in Metrunio or gives its external ID. With `{{campaign.id}}` and `{campaignid}` the platform’s campaign ID is enough if the campaign carries it as its external ID; it then stays the same after a rename. - The value must be exactly the ad’s ID, with nothing added. A name or your own label in `utm_content` attributes nothing. With `{{ad.name}}`, Meta also inserts the name the ad had when it was first published. - Meta does not support the parameters for collection ads on Instagram. Changing the URL parameters can send an ad set back into the learning phase. - At Google, a suffix on individual ads, keywords or sitelinks goes through review again after every change. - Performance Max does not support `{creative}`. Visits from such campaigns are listed under “Not attributable”, and their costs in the campaign total. ## Where the per-ad costs come from From the cost fetch of a connected ad account, at the same rhythm and with the same look-back as the per-campaign costs. An ad belongs to the campaign its platform campaign is matched to; anything matched to no campaign creates no ad. If the per-ad fetch fails, the per-campaign costs are unaffected, and the view states the reason. Through the server API, `POST /v1/server/costs` also accepts `ad_ref`, `ad_name`, `ad_group_ref` and `ad_group_name` per row when `platform` is `meta` or `google_ads`. The rows for one campaign and one day belong in the same request, because Metrunio adds them up to the campaign total. One request carries up to 500 rows. Without the creative level they only count towards the campaign, and the response says how many per-ad rows were left aside. ## Limits - The cost fetch has to know an ad before a visit can be attributed to it. Visits through a new ad before its first fetch stay without an ad. - Meta does not report deleted ads in the per-ad fetch. - Preview images exist at Meta for ads with an image or video and at Google Ads only for image ads. Metrunio passes them through and holds them in memory for no more than one hour, without storing them permanently; your browser loads nothing from Meta or Google. For an ad that has not been served for a while, the image may be missing. - TikTok, LinkedIn and Microsoft Advertising are not included in this version. > **Legal note:** The ad ID in `utm_content` is the same for all clicks on the same ad; it does not identify a person. Only a visit measured with consent to analytics is attributed. Still name campaign and ad parameters in your privacy policy and in the category description of your cookie banner: consent only covers per-ad evaluation if its text includes it. Preview images and ad names can show or name people; Metrunio processes them on your behalf and does not keep the images. What Metrunio stores about this is set out in its privacy policy under “Signing in with Google Ads and Meta”. This note is not legal advice. ## Also asked - See costs per ad - Switch on the creative level - Which ad had the most orders? - Set up utm_content on Meta - URL parameters in Ads Manager - ValueTrack creative in Google Ads - Put the ad ID into the link - What does not attributable mean for ads? - Why is an ad’s preview image missing? - ROAS per ad - Evaluate Performance Max per ad - Final URL suffix with utm_content ## Related - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/utm-parameter - https://bench.metrunio.com/en/help/kampagnenstruktur - https://bench.metrunio.com/en/help/roas-und-kennzahlen --- --- slug: zugangsdaten-werbeplattformen title: "Where do I get the advertising platforms’ credentials?" category: berichte locale: en updated: 2026-10-16 keywords: ["access token","developer token","customer ID","pixel ID","OAuth","Meta","Google Ads","TikTok","LinkedIn","Microsoft Ads"] questions: ["Which values does Metrunio need per platform, and where do they live?","Where do I find the Meta access token?","What is a Google Ads developer token?","Which customer ID do I enter?","Is there a connect button?","Sign in with Google Ads","Connect a Meta ad account","Pick the pixel after signing in with Meta","Set up advertising platform credentials","Get a conversions API token","Do I have to sign in with Meta twice?","One sign-in for ad costs and pushback","Use existing Google sign-in","Switch ad account without signing in again","Choose another Google Ads account","Choose another Meta pixel","Do I have to sign in again to switch accounts?","Is my ad account kept when I sign in again?","Why is my Microsoft developer token shown shortened?","When does my Meta connection expire?","Does Metrunio warn me before access expires?","What does “Access expires soon” mean?","Access expired, what now?"] url: https://bench.metrunio.com/en/help/zugangsdaten-werbeplattformen --- # Where do I get the advertising platforms’ credentials? **Which values does Metrunio need per platform, and where do they live?** With Google Ads and Meta you sign in with your account at the platform (“Sign in with Google”, “Sign in with Meta”) and then pick the ad account or pixel from a list; no token is needed there. For TikTok, LinkedIn and Microsoft Advertising you enter an access token and one to four identifiers from your ad account. This page says in advance where each value lives. Two places in the portal ask for credentials, both under “Data connections”: the cost sync in the “Receive costs” section and the conversion pushback in the “Return conversions” section. They partly ask for the same values: one Microsoft Advertising developer token covers both. ## What each platform needs | Platform | Values | Where they live | | --- | --- | --- | | Meta | Pixel ID, access token; for the cost import the ad account ID (act_…) | Events Manager: pick the pixel, “Settings” tab, “Conversions API” section, “Generate access token” | | Google Ads | Customer ID (ten digits), conversion action name, access token | The customer ID is shown in the account, top right. Since 9 September 2026 Google no longer requires a developer token; the access token must come from a Google Cloud project with access to the Google Ads API | | TikTok | Pixel code or advertiser ID, account currency, access token | In the ad account; TikTok’s documentation describes the route to the token | | LinkedIn | Conversion rule URN, ad account ID, account currency, access token | The Conversions API has to be enabled; the URN belongs to the conversion rule you created | | Microsoft Advertising | Account ID, customer ID, developer token, conversion name, access token | Developer token at ads.microsoft.com/cc/Settings/DevSettings; customer and account ID appear as “cid” and “aid” in the campaign view’s address bar | ## Sources at the provider - Meta: developers.facebook.com/docs/marketing-api/conversions-api/get-started - Google Ads: developers.google.com/google-ads/api/docs/api-policy/developer-token - TikTok: business-api.tiktok.com/portal/docs - LinkedIn: learn.microsoft.com/en-us/linkedin/marketing/conversions/conversions-overview - Microsoft Advertising: learn.microsoft.com/en-us/advertising/guides/get-started > **Note:** Retrieved 7 September 2026, Google Ads on 24 September 2026. Provider menus change; where we have not walked a route ourselves, the table says where the value lives and not how many clicks away it is. ## Sign in instead of copying: Google Ads and Meta Under “Data connections”, “Connect ad account” in the “Receive costs” section takes you to sign in with Google Ads or Meta; then you pick the ad account from a list. There is no token to copy. The connection exists once you have chosen and confirmed an account; a sign-in without an account expires after one hour. In Meta’s sign-in dialog, sharing ad accounts is optional. If you share none, Metrunio lists none and offers to sign you in again. - **Google Ads:** Metrunio stores a lasting grant and uses it to fetch a fresh access token before every call. If you revoke access in your Google account or the connection goes unused for six months, the import reports “Please reconnect”. - **Meta:** depending on the setup, the sign-in is valid indefinitely or for 60 days. If Meta names an expiry date, it is shown on the connection (“Access valid until …”), and Metrunio warns you beforehand (see below). - **Reporting conversions to Meta:** under “Data connections”, after signing in you pick the dataset (pixel) from the list Meta names for that sign-in. Sharing datasets is optional in Meta’s dialog too: if your pixel is missing, sign in again and share it, or enter its ID by hand. Whether Meta accepts reports to the chosen dataset is what test mode shows. - **One sign-in for both pages:** the cost import and the conversion pushback ask the platform for the same permissions. If one of them is already connected through a sign-in, the other offers “Use existing Meta sign-in” (or Google), with no new dialog at the platform; “Sign in with another Meta account” stays next to it. It covers what you shared during the first sign-in: if the ad account or the pixel is missing, the selection that follows offers to sign you in again. An expired Meta token is not reused. - **Sign in again, same account:** if cost sync reports “please reconnect” and you sign in again for that connection, Metrunio keeps the previous ad account on its own as soon as it is part of the new sign-in, and requests a fetch right away. The message afterwards names the account; “Choose another account” next to it lets you pick a different one from the same sign-in instead. If the previous account is not part of the sign-in, you choose as for a new connection. - **Switch accounts without a new dialog:** if a connection already runs through a sign-in, “Edit” first offers “Choose an account from the existing sign-in”. You then pick another ad account (or, for pushback to Meta, another pixel) from what this connection’s sign-in shares. Next to it, “Sign in with another Google account” (or Meta) covers an account under a different login. The same choice appears in the “Incomplete” warning when a connection is missing its account. Here too, what you shared at sign-in is what counts: if the account you want is missing from the list, sign in again from there. - **Disconnecting is per connection:** once reused, each connection holds its own encrypted copy of the authorisation. Disconnect the cost import and the pushback keeps running, and vice versa. If you revoke access at Google or Meta itself, that applies to both. - **What Metrunio does with it:** read costs and report conversions. Metrunio does not change campaigns, budgets or ads, even where the platform requires broader permissions for reporting conversions. - **What happens to the data:** the authorisation is stored encrypted and only with your workspace. We use the data for your reports, the conversions you report back to your own account and the features you use yourself. It is transferred to the processors we use for this, and to an AI tool or program when you connect it to your account yourself and thereby instruct us to pass your data to it. The authorisation itself, meaning the platform’s access token, never leaves Metrunio, not even to a connected tool. We do not sell the data or combine it across customers. Data received from Google APIs is subject to the Limited Use requirements of the Google API Services User Data Policy. If you disconnect, we delete the authorisation immediately; you can also revoke access at myaccount.google.com/permissions or under “Business integrations” at Meta. The details are in the privacy notice under “Signing in with Google Ads and Meta”. - **TikTok, LinkedIn, Microsoft Advertising:** still with a token. Their sign-in requires a separate partner approval each. ## Advance warning before access expires If the platform names an expiry date at sign-in, Metrunio stores that date next to the encrypted authorisation. The authorisation itself stays encrypted. This applies to Meta without “Facebook Login for Business” (about 60 days) and to Google if you limited access in time when signing in. - **14 days before:** the connection shows “Access expires soon” in ochre, with the date. The overview shows a notice you can hide. Everything keeps running until the expiry date. - **From the expiry date:** the connection shows “Access expired” in red. No more costs arrive and no more conversions go out. This notice cannot be hidden. - **Reconnect:** “Sign in with Meta again” (or Google) on the connection. The previous ad account stays if it is part of the new sign-in, and the new expiry date applies right away. - **Agencies:** in the client overview, access that expires soon turns the client ochre, expired access turns it red. The weekly summary email names it with the date. > **Note:** Without an expiry date from the platform there is no advance warning, because Metrunio does not assume one. That covers every token entered by hand, Meta with “Facebook Login for Business” and Google without a time limit. That Google ends access after six months without use or after a revocation only shows up at the next fetch. In addition, everyone with the Admin role gets an email 14 days before and on the day of expiry, one per access and stage; for an agency’s clients, the notice is in the agency’s weekly email instead. > **Note:** With Google Ads and Meta, too, you can enter a token by hand instead of signing in: choose “Enter an access token instead” in the sign-in step. > **Caution:** An advertising platform token can move budgets and switch off campaigns. Create it with the fewest permissions that serve the purpose, and enter it only in the portal: it is stored encrypted and never shown in full again, only its last four characters. > **Note:** For Microsoft Advertising we also store the developer token, customer ID and account ID encrypted. After that you only see them shortened: “…” and, from twelve characters on, the last four. If you leave a shortened field as it is while editing, the stored value stays. If you enter a new one, it replaces it. ## Also asked - Where do I find the Meta access token? - What is a Google Ads developer token? - Which customer ID do I enter? - Is there a connect button? - Sign in with Google Ads - Connect a Meta ad account - Pick the pixel after signing in with Meta - Set up advertising platform credentials - Get a conversions API token - Do I have to sign in with Meta twice? - One sign-in for ad costs and pushback - Use existing Google sign-in - Switch ad account without signing in again - Choose another Google Ads account - Choose another Meta pixel - Do I have to sign in again to switch accounts? - Is my ad account kept when I sign in again? - Why is my Microsoft developer token shown shortened? - When does my Meta connection expire? - Does Metrunio warn me before access expires? - What does “Access expires soon” mean? - Access expired, what now? ## Related - https://bench.metrunio.com/en/help/conversion-rueckgabe - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/api-keys-rotieren --- --- slug: conversion-rueckgabe title: "Can I send conversions back to the advertising platforms?" category: berichte locale: en updated: 2026-10-17 keywords: ["pushback","conversions API","fbclid","gclid","ttclid","li_fat_id","msclkid","Meta","Google Ads","LinkedIn","Microsoft Ads","contribution margin","margin","new customers","event name"] questions: ["How does conversion pushback work?","Meta conversions API","Google Ads offline conversions","LinkedIn conversions API","Microsoft offline conversions","Set up pushback","Send conversions back","Do I have to sign in with Meta again for pushback?","Reuse the cost import sign-in","Why can’t I set up pushback?","Which plan includes pushback?","Can I send Meta the margin?","Report contribution margin instead of revenue to Google Ads","Report only new customers to Google","New customers as a separate signal for Meta or TikTok","Profit signal for the ad platforms","Create a second destination for the same platform","Why was a purchase without a contribution margin not reported?","Why was a purchase by an existing customer skipped?"] url: https://bench.metrunio.com/en/help/conversion-rueckgabe --- # Can I send conversions back to the advertising platforms? **How does conversion pushback work?** From the Growth plan, conversions go back to Meta, Google Ads, TikTok, LinkedIn and Microsoft Advertising. Matching happens exclusively through each platform’s click identifier: fbclid, gclid, ttclid, li_fat_id or msclkid. Conversions without a matching click are skipped with a stated reason. Per destination you choose whether purchases are reported with the revenue or the contribution margin, and whether only purchases by new customers go out. > **Note:** Pushback is available from the Growth plan. On Start and Pro no destinations can be set up: “Data connections” then says which plan it takes, with the way to “Plan & usage”. If your plan was lowered, you still see the destinations you set up and can remove them; nothing is sent until your plan includes pushback again. If a connected platform reports different conversions than Metrunio measured with its contact, the page also shows reported against measured per platform, from the platform reconciliation of the last 30 days. Without a difference or without a report from the platform, no number is shown. 1. Open “Data connections”, go to the “Return conversions” section and click “Connect platform”. 2. Pick the platform. For Google Ads and Meta you sign in; if you are already signed in for the cost import, “Use existing sign-in” is enough, with no new dialog at the platform. For Google you then choose the ad account. Then set where to report to: for Google you enter the conversion action, for Meta you pick the dataset (pixel) from the list the sign-in names. For the other platforms you enter the details and an access token. 3. Pushback starts in test mode. What that means per platform is shown on its card; the figures below show what would be reported and what would be skipped. 4. If that looks right, click “Go live” and confirm. From then on, reported conversions are recorded by the platform. > **Note:** A reused sign-in only covers what you shared during the first sign-in. If you shared only the ad account and no pixel with Meta back then, the selection names no dataset and offers to sign you in again. Disconnecting is per connection: disconnect the pushback and the cost import stays connected. ## How much of it arrives Under “Data connections” the coverage of the pushback is shown per platform as a chain (considered, eligible, sent, rejected), together with the reasons for skipping. The platform card in the “Ad platforms” section shows the last run, the last success and the last error per direction; the last run of the pushback has been recorded since 5 October 2026, so a destination without an attempt since then shows “no run yet”. The chain tells you more than a success rate, because each stage has a different cause. A missing click identifier is about the data; a failed send is about the interface. > **Note:** Our chain ends at “sent”. Sent means the platform accepted the message. Whether it attributes the conversion to its campaign, deduplicates it against its own measurement or discards it, the platform does not tell us. So the portal says nothing about that. Anyone treating a transfer rate as an effect is measuring something other than they think. ## Contribution margin instead of revenue, new customers only Per destination you decide what the platform learns about a purchase. Under “Value for purchases” you choose the revenue, as before, or the contribution margin: net value minus cost of goods, as your shop sends both with the order. A campaign that bids on conversion value then follows what is left after the cost of goods rather than the revenue. Leads and funnel steps keep reporting their value. With “Report only purchases by new customers” a destination only receives purchases by new customers. Whether someone is new is stated by your shop; if it does not send this, the person’s first measured order counts as a purchase by a new customer. Such a destination skips purchases by existing customers, purchases without a customer type, leads and funnel steps, each with a reason. 1. If you want new customers as a signal of their own alongside all purchases, click “Further destination” on the card of the existing destination. 2. Enter where the platform should receive it: its own conversion action for Google Ads, its own conversion for LinkedIn and Microsoft Ads, its own event name for purchases for Meta and TikTok, for example NewCustomerPurchase. With the same conversion Metrunio rejects the second destination; otherwise the platform would count every purchase twice. 3. The new destination takes over the access of the existing one as its own copy and starts in test mode. If you disconnect one of the two, the other keeps reporting. > **Note:** If a purchase lacks the net value or the cost of goods, a destination with contribution margin skips it with a reason. It is then reported neither with the revenue nor with 0, and a negative contribution margin does not go out either. How your shop sends both values is explained in “How do I send cart, new customers and margin from my shop?”. > **Note:** A platform that receives the contribution margin reports its conversion values on that basis. The reconciliation says so in its row, and its reported value can then not be compared with the measured revenue. If the pixel in the browser also reports the same purchase with the revenue, Meta can merge both reports, and Meta decides which value then counts. An event name of your own keeps the contribution margin signal apart from it. > **Legal note:** A destination for new customers only tells the platform with every report that the purchase came from a new customer, and with the contribution margin it learns your margin per purchase. Check before switching it on whether your privacy policy and the legal basis of your pushback cover this. ## Limits of the matching Matching through a hashed email address or phone number is not possible, because Metrunio stores no clear text for those. What is not stored cannot be hashed. That leaves the click identifier as the only reliable route. Google Ads also requires consent to sending personal data (ad_user_data from Consent Mode v2). If that signal is missing, the report to Google is skipped with a reason instead of being sent. > **Caution:** Pushback changes what data the platform receives about your customers. Check the legal basis and the statements in your privacy policy before switching it on. ## Also asked - Meta conversions API - Google Ads offline conversions - LinkedIn conversions API - Microsoft offline conversions - Set up pushback - Send conversions back - Do I have to sign in with Meta again for pushback? - Reuse the cost import sign-in - Why can’t I set up pushback? - Which plan includes pushback? - Can I send Meta the margin? - Report contribution margin instead of revenue to Google Ads - Report only new customers to Google - New customers as a separate signal for Meta or TikTok - Profit signal for the ad platforms - Create a second destination for the same platform - Why was a purchase without a contribution margin not reported? - Why was a purchase by an existing customer skipped? ## Related - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/zugangsdaten-werbeplattformen - https://bench.metrunio.com/en/help/neukundenkosten-und-deckungsbeitrag - https://bench.metrunio.com/en/help/shop-bestelldaten-senden - https://bench.metrunio.com/en/help/abgleich-plattformzahlen - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/was-wird-gespeichert --- --- slug: abgleich-plattformzahlen title: "Why does the platform report more conversions than you?" category: berichte locale: en updated: 2026-10-12 keywords: ["reconciliation","difference","double counting","platform figures"] questions: ["Where does the difference between platform, shop and Metrunio come from?","Why does Meta differ from my shop?","Platform double counting","Do Meta and Google both claim the same order?","How many orders had contact with several platforms?","Which figure is right?","Platform reports more purchases","Why does the reconciliation say “Interface (server API)” instead of Meta?","Reconciliation per platform","What does “Days with a report” count?","Why does “Days with a report” show 21 of 21 for a week?","Why is the reported value below the revenue when the platform receives the contribution margin?"] url: https://bench.metrunio.com/en/help/abgleich-plattformzahlen --- # Why does the platform report more conversions than you? **Where does the difference between platform, shop and Metrunio come from?** Because the platform and Metrunio count different things. The platform reconciliation in the portal puts the reported figure next to the measured one and names the seven points at which two figures about the same week diverge: period, conversion type, consent, refunds, time zone, attribution window and data freshness. Whatever remains after that is unexplained. ## What the reconciliation needs The reported figure comes from the same report as the costs: per campaign and day, via the import or via `POST /v1/server/costs` with the `conversions` field. If it is missing for a day, it says “not reported” rather than zero: those are different things. “Days with a report” counts calendar days: on how many days of the period the platform reported conversions, out of all days in the period (“5 of 7”). Three campaigns on one day are one day. Until 29.09.2026 the column counted campaign days and showed, for example, “21 of 21” for one week. ## One row per platform Every ad platform has one row, whichever route its figures took: the connected ad account, the server API or the CSV import. The route is shown beneath it. A connected ad account knows its platform. Through the server API and the import you state it per row (field `platform`, column “plattform”). Without it, the figures stay in a combined row for their route, such as “Interface (server API)”: a guessed platform would shift the figures without anyone noticing. The measured figure of a row counts the conversions attributed to a campaign with costs from that platform. If you report costs from two platforms for the same campaign, it counts in both rows. If a platform receives the contribution margin for purchases through pushback instead of the revenue, this is shown in its row and below the table. Its reported value is then based on the margin and cannot be compared with the measured revenue. ## Several platforms on the same order Below the table, the reconciliation shows how many orders or leads had contact with more than one platform, for example Meta and Google Ads, and which combinations occur most often. Next to it is the total the platforms report together and the number of measured orders or leads. Each of those platforms can count such an order for itself under its own rules. No platform reports which ones it actually counts; what you see is the measured contact within your account’s attribution window. Campaigns without a platform are not included here. ## The seven points - Period: the reconciliation uses the period you set above, the same on both sides. - Conversion type: we count purchases, leads and funnel steps together. Platforms usually count only the type their campaign optimises for. - Consent: without matching consent we attribute nothing. Orders your shop reports without a consent decision count in measured revenue but appear under no platform. Platforms model the missing cases. - Refunds: we deduct them as soon as they come in, retroactively too. Platforms rarely correct afterwards. - Time zone: for us days run from midnight to midnight in your account’s time zone (under “Settings”), for the platform in the ad account’s. - Attribution window: your setting is shown in the reconciliation; theirs is in their account. - Data freshness: we measure continuously, platforms sometimes report days later. > **Caution:** Whatever remains after these seven points is unexplained. How much of it is double counting, the reconciliation does not say. It shows that a difference exists and what it can come from. To know whether a campaign brings additional revenue, you need an experiment. ## Also asked - Why does Meta differ from my shop? - Platform double counting - Do Meta and Google both claim the same order? - How many orders had contact with several platforms? - Which figure is right? - Platform reports more purchases - Why does the reconciliation say “Interface (server API)” instead of Meta? - Reconciliation per platform - What does “Days with a report” count? - Why does “Days with a report” show 21 of 21 for a week? - Why is the reported value below the revenue when the platform receives the contribution margin? ## Related - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/werbekosten-importieren - https://bench.metrunio.com/en/help/conversion-rueckgabe - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt --- --- slug: csv-export title: "How do I export data?" category: berichte locale: en updated: 2026-10-17 keywords: ["export","CSV","download","raw data","Excel","dashboard","daily rows"] questions: ["Can I recalculate the numbers myself?","Download CSV","Export data","Get raw data","Export for Excel","How do I get my figures into a dashboard?","Why is there an apostrophe in front of an order number?","Why does a cell in the export start with a single quote?"] url: https://bench.metrunio.com/en/help/csv-export --- # How do I export data? **Can I recalculate the numbers myself?** Under “Exports & AI connections” you download CSV files for conversions, customer journeys and attribution by channel, with the same values the reports show, so you can recalculate them yourself. Conversions and journeys appear individually, row by row, and every row states the period, the environment and the time of the data. | Export | Contents | | --- | --- | | journeys.csv | per journey its identifier, start, last activity, number of touchpoints and conversions, first and last channel, and value | | conversions.csv | conversions with revenue, refund, currency, attribution status and acquisition value | | attribution.csv | attributed conversions, revenue and acquisition value with cost, per channel, source, campaign, ad, creative, placement or publisher site | Conversions and journeys deliberately appear individually in the exports, not as totals: anyone who doubts a figure in a report should be able to recalculate it with their own tools. An export is split into part files of 200,000 rows each; together they are the complete set for the selected period, on every plan. If a set has several parts, the page offers one button per part. “attribution.csv” contains every row of the breakdown, even when the table under “Attribution” shows only the 200 largest; the page then says how many there are in total. Every row carries its basis: model, post-view yes/no, period, environment, conversion type and the time of the export. Model and window can be changed later, and the data keeps growing. A figure without these details cannot be recalculated a week on. You choose the period and the model at the top of the “Exports & AI connections” page, as on every report; the page states period, time zone and environment before you download. In “conversions.csv” and “journeys.csv” the “modell” column stays empty: neither file is bound to a model. “zugeordnet” there means that at least one of the models, with or without post-view, gives the conversion a share; with “nein” the reason is next to it. The shares per model come from “attribution.csv” with the selected model and your post-view setting. The acquisition value, meaning the value you gave a conversion in the portal, is in a column of its own in “conversions.csv” and “attribution.csv”, after the basis columns. In “attribution.csv” it is followed by “website”, the channel metrics (besuche, conversion_rate_zugeordnet, neukunden_zugeordnet, neukundenquote) and the subscription renewals (folgezahlungen_zugeordnet, umsatz_folgezahlungen_zugeordnet). In “conversions.csv” it is followed by “folgezahlung” (ja or nein) and “abo”, the subscription ID. New columns are always added at the end: anyone who reads a file by column position finds every other column where it was before. If the text in a cell starts with =, +, -, @ or a tab, it gets a leading apostrophe. Excel, Google Sheets and LibreOffice would otherwise run the cell as a formula, and an order number or a campaign name can come from outside, for example from a link with UTM values. The spreadsheet then shows the text as it is. Numbers are not affected: a negative value stays a number. The same applies to the CSV attached to the weekly and monthly report. > **Note:** For programmatic access, use the read endpoints under /v1/data with an API key of scope “read” instead of the export. The read API comes with Growth, Scale and the agency plan. Without model and includePostView the endpoints use your default model and your post-view setting, like the reports, and state both in the response. If a script compares figures across weeks, it should name the model explicitly: otherwise the figures change whenever someone changes the default model. For dashboards there is /v1/data/daily: one row per day, channel and campaign, whose sums match those under “Channels & attribution”. For Google Sheets, Power BI and Excel there are ready-made templates for it in their own articles. ## Also asked - Download CSV - Export data - Get raw data - Export for Excel - How do I get my figures into a dashboard? - Why is there an apostrophe in front of an order number? - Why does a cell in the export start with a single quote? ## Related - https://bench.metrunio.com/en/help/berichte-ueberblick - https://bench.metrunio.com/en/help/chat-fragen - https://bench.metrunio.com/en/help/mcp-anbinden - https://bench.metrunio.com/en/help/google-sheets - https://bench.metrunio.com/en/help/power-bi-und-excel - https://bench.metrunio.com/en/help/abo-folgezahlungen --- --- slug: tagesgrenzen-und-zeitzone title: "When does a day start in the reports?" category: berichte locale: en updated: 2026-10-14 keywords: ["time zone","day boundary","midnight","period","UTC","daylight saving","today"] questions: ["Which time zone do reports, the chat and the APIs use?","Which time zone does Metrunio use?","Does Metrunio count in UTC?","Does today count?","Why is the last day missing from the period?","Can I change the time zone?","Why does an order or lead shortly after midnight appear on the previous day?","Why does the chat show zero conversions for today?","Why does the trend chart drop on the last day?","What happens when the clocks change?","Change the time zone","Which time zone are times in the portal shown in?","What happens to existing data when I change the time zone?"] url: https://bench.metrunio.com/en/help/tagesgrenzen-und-zeitzone --- # When does a day start in the reports? **Which time zone do reports, the chat and the APIs use?** A day runs from midnight to midnight in your account’s time zone; the default is Europe/Berlin, and you can change it under “Settings”. “The last 7 days” are seven whole calendar days including today, and a custom period includes its last day in full. The same rule applies to the overview, reports, costs, the chat, the MCP server and the read API. - Presets (7, 30, 90 days): that many whole calendar days up to and including today, today until now. - Custom: from 00:00 on the first day to 24:00 on the last. So “28.09. to 28.09.” is the whole of 28 September. - Costs, reach and daily charts use the same calendar days as conversions and revenue. - Today counts up to now. In the overview’s trend chart, the segment to today is therefore dashed and marked “still running”: otherwise half a day would look like a slump. - The comparison with the previous period takes as many days before. For a preset it ends at the same time of day as today, so half a day is not set against a whole one. - Clock change: the day of the change has 23 or 25 hours and stays one day. ## Chat, MCP and read API A date without a time (`2026-09-28`) means the whole day, as start and as end. A timestamp with time and offset (`2026-09-28T10:00:00+02:00`) applies exactly as written. The chat shows the period with its zone under every answer; the data tools state it under “period”. ## Changing the time zone Account creation sets the zone: via the Shopify app it takes your store’s, otherwise Europe/Berlin applies. Your account’s admins can change it under “Settings”, from a list with names such as America/New_York or Asia/Tokyo. Before you save, a notice tells you what changes. - From the moment you save, every day starts and ends in the new zone, retroactively in all existing reports as well. Days are cut afresh with every query, so daily figures can shift. - Times in the portal are shown in the same zone. - Orders without consent carry only their business day, no time. They move to midnight of the same day in the new zone and stay on their day. - The change is recorded in the change log with the old and the new zone. > **Note:** An order without consent that arrives within half a minute of the change may still be stored with the start of day of the old zone. Deadlines in two notification emails, about a retention reduction and about the measurement domain certificate, still state their date in Europe/Berlin. > **Caution:** Ad platforms report costs per day in the ad account’s time zone. If it differs from your account’s, a day’s costs and conversions are a few hours apart. Until 29.09.2026 the reports counted in UTC, and a custom period ended at midnight at the start of its last day. If you compare older exports, you will therefore find orders or leads shortly after midnight on the previous day. Until 30.09.2026, times in the portal were always shown in Europe/Berlin, even if your account had a different zone. ## Also asked - Which time zone does Metrunio use? - Does Metrunio count in UTC? - Does today count? - Why is the last day missing from the period? - Can I change the time zone? - Why does an order or lead shortly after midnight appear on the previous day? - Why does the chat show zero conversions for today? - Why does the trend chart drop on the last day? - What happens when the clocks change? - Change the time zone - Which time zone are times in the portal shown in? - What happens to existing data when I change the time zone? ## Related - https://bench.metrunio.com/en/help/chat-fragen - https://bench.metrunio.com/en/help/abgleich-plattformzahlen - https://bench.metrunio.com/en/help/mcp-anbinden - https://bench.metrunio.com/en/help/berichte-ueberblick --- --- slug: chat-fragen title: "How do I ask questions about my own data?" category: berichte locale: en updated: 2026-10-17 keywords: ["chat","AI","questions","assistant","language model"] questions: ["What can the portal chat do, and what can it not?","How many questions can I ask?","AI chat in the portal","Ask questions about the data","What can the assistant do?","Can I ask the chat how to use the product?","What data goes to Google when I ask?","Are order numbers passed to the language model?","Why does the assistant not list every order?","Can I ask questions in the demo?","Which model does the chat use?","Which time zone does the chat use?","Why does the chat give a different figure for today than the overview?","Why do I get an error instead of an answer?","Can the chat tell me the contribution margin?","Why does the assistant say a tool does not provide something?","Can the chat tell me visits and time on site?","Why does the chat not name individual pages?"] url: https://bench.metrunio.com/en/help/chat-fragen --- # How do I ask questions about my own data? **What can the portal chat do, and what can it not?** Under “Ask your data” a language model answers questions about your measurement data and about how to use the product. It reads only through defined tools, states only figures that came from a tool call, and openly reports which tools it used. > **Note:** In the demo nobody asks the language model. “Ask your data” shows three prepared example answers there, with the period, the model and the report the figures come from; each is labelled as a prepared answer. What is prepared is the wording, not the figures: they are calculated from the example data, from the same reports the answers lead to, and change with it. To ask your own questions you need an account of your own. > **Note:** On the free Start plan the assistant answers ten questions per calendar month; from Pro there is no monthly limit. A question only counts once an answer has come back. If the language model fails, nothing is used. How many are left is shown above the input field. | Tool | Answers | | --- | --- | | metrics | totals and metrics for a period | | breakdown | split by channel, campaign, ad, creative, placement or publisher site | | timeline | development over time | | modelComparison | the same conversions across several attribution models, from the Pro plan; before that, the one model of your plan | | conversions | individual completions | | journeys | individual journeys with touchpoints; if asked, only those with a viewable impression, those starting via a particular channel or those with a touchpoint from a particular campaign | | surveyAnswers | answers to the post-purchase question, labelled self-reported, with the answer rate | | commerce | commerce as in the portal: new-customer cost, net revenue, contribution margin, repeat purchases and the product report, for one campaign if you like | | web | web analytics: page views, visits, visitors, time on site and bounce rate with the previous period, per channel, source and campaign or per device, browser and operating system; measured for visitors who consented. The chat does not name individual pages, paths or real time, because a page path can carry things that do not belong in a language model. They are in the web analytics area | | dataQuality | coverage, discarded events, findings | | help | articles from this help centre, with source URL | The “help” tool is why you can ask for a number and for its explanation in the same field: a question does not know which drawer it belongs in. “Why is half of my conversions unattributed?” is both: a number from your data and an explanation from an article. - All tools are read-only; the model cannot change anything. - If your question names no attribution model, the assistant uses your default model and your post-view setting from “Settings”, like the overview and the reports. If you come from a report in which you chose a different model, it takes that one as its default; the address of the “Ask your data” page carries it, and it is shown below the input field. If you name one (“by first touch”), it uses that one, provided your plan includes the model comparison. Below the answer it says which model and which period were used. The sources beneath it open the report with the same period, model and environment. - Periods are whole calendar days in your account’s time zone (under “Settings”). “Today” runs from midnight until now, “the last 7 days” are seven whole days including today. That is the same rule as in the reports’ period picker. Every answer shows the period with its time zone underneath. - Every figure in an answer has to appear in a tool result, 0 and 1 included; only list numbers, dates and times are exempt. If a figure appears nowhere, you get an error instead of an answer. Which metric a figure belongs to is not checked: a 0 from a different field would pass. - If two figures differ, the assistant states both with their periods. It names a cause only when a tool supplies one, for example events still waiting to be processed. It calculates nothing itself: it reads unattributed revenue from the tool instead of forming a difference. - If no tool provides what you ask for, the assistant says exactly that: the tool does not provide it. It does not claim that your data is missing. One example is the contribution margin as a total per campaign: “commerce” gives the contribution margin of all campaigns and, per campaign, only the product report, just like the “Commerce & products” page. - The tenant comes from your session, not from something stated in the conversation. - There is no memory on the server: the conversation lives in your browser, and each question carries at most the last twelve messages. Earlier answers that contained individual completions or journeys are not sent again. If you follow up, the assistant reads the rows afresh, as they are today. If you switch tenant, the conversation starts afresh. - The request runs through Vertex AI in Google Cloud, region europe-west3; the region is also shown in the portal. Google processes it as a processor and does not train on it. If abuse is suspected, Google may keep requests for up to 90 days and review them. - Google receives your question, the conversation and the results of the tools. Those are mostly metrics; if you ask about individual completions or journeys, those rows too, at most 300 per question. Order numbers and journey identifiers from your data only leave as codes that apply to this one request; the portal puts the real numbers into the answer afterwards. If you type a number that does not exist in your data, it leaves as you typed it. Orders your shop reported without consent are not listed individually; the assistant gives their count, below five only as “fewer than 5”. Raw events never leave. - Email addresses, phone numbers and IBANs in your question are replaced by placeholders before it is passed on. Names are not: there is no pattern that reliably recognises a name. So keep your customers’ names out of the question. > **Note:** Answers about the product name the URL of the article they come from. If the model finds no matching article, it says so rather than inventing one. > **Legal note:** Where the answers contain data about your visitors and customers, Google processes it as a further processor; the entry is in the annex to the DPA. If you do not use the assistant, none of it goes to Google. ## Also asked - How many questions can I ask? - AI chat in the portal - Ask questions about the data - What can the assistant do? - Can I ask the chat how to use the product? - What data goes to Google when I ask? - Are order numbers passed to the language model? - Why does the assistant not list every order? - Can I ask questions in the demo? - Which model does the chat use? - Which time zone does the chat use? - Why does the chat give a different figure for today than the overview? - Why do I get an error instead of an answer? - Can the chat tell me the contribution margin? - Why does the assistant say a tool does not provide something? - Can the chat tell me visits and time on site? - Why does the chat not name individual pages? ## Related - https://bench.metrunio.com/en/help/mcp-anbinden - https://bench.metrunio.com/en/help/tagesgrenzen-und-zeitzone - https://bench.metrunio.com/en/help/csv-export - https://bench.metrunio.com/en/help/berichte-ueberblick - https://bench.metrunio.com/en/help/demo-ansehen --- --- slug: mcp-anbinden title: "How do I connect my own AI tool?" category: berichte locale: en updated: 2026-10-16 keywords: ["MCP","Model Context Protocol","OAuth","API key","AI tool","integration","Claude","ChatGPT","connect AI"] questions: ["Is there an MCP server for Metrunio?","Give the AI tools instruction in advance in the agreement step","End all AI connections at once","Model Context Protocol","Connect Claude to Metrunio","Does this work with ChatGPT?","Connect ChatGPT to Metrunio","Feed my own AI with the data","Which plan includes MCP?","Which attribution model does the MCP server use?","How do I disconnect an AI tool?","Do I need a DPA with OpenAI or Anthropic?","Which data does the AI tool receive?","Is connecting ChatGPT GDPR compliant?","Why does my AI tool only see 200 campaigns?","How do I get all rows of the breakdown through the API?"] url: https://bench.metrunio.com/en/help/mcp-anbinden --- # How do I connect my own AI tool? **Is there an MCP server for Metrunio?** Through Metrunio’s MCP server. It exposes the same read tools as the portal chat. Claude and ChatGPT sign in via OAuth: you choose in the portal which account they may read. Other tools use an API key of scope “read”, the same one a script would use for /v1/data. - The same tools from the same package as the portal chat. With the same account, period, model, post-view setting and data state, portal and MCP read the same data; the data keeps growing, so a later request can contain more. - Without a model choice the tools use your default model and your post-view setting from “Settings”, like the portal. Every answer states under “model” and “includePostView” what was used. Your AI tool does not need to know the default model. - Models and the reasons why a conversion is not attributed to any touchpoint appear in words in the answers, as in the portal. The language comes from your request’s “Accept-Language” header (German, English, Spanish or French); if your AI tool sends none, it is the language you last signed in to the portal with, and German if that is unknown too. - The tools themselves appear in that same language, so in the language of your AI tool or of your account: titles and descriptions exist in German and English, with English for Spanish and French. - A date without a time is a whole day in your account’s time zone, as start and as end; `days: 7` means seven whole days including today. Every result states the days and the zone under “period”. - The breakdown by channel, campaign or ad gives an AI tool at most the 200 largest rows, so the answer fits into the conversation. “total” states how many there are in all, and “truncated” says whether rows were cut; a sum over the rows is then a partial sum. You get all rows from the read API (`/v1/data/breakdown?limit=all`) or the CSV export on the “Attribution” page. - Including “help”: your own AI tool can read the articles of this help centre too. - And “commerce”: new-customer cost, net revenue, contribution margin, repeat purchases and the product report as under “Commerce & products”. As there, a campaign only narrows the product report. - Read-only throughout: a model should not be able to change data. - The tenant is bound to the key; separation is additionally enforced in the database. - A key can be revoked or rotated at any time. > **Note:** Create a separate key for every connected tool. A single access can then be withdrawn without disturbing the others. ## Data protection before you connect By allowing access or creating a read key, you instruct us to transfer the data of your account to the tool. Within this authorization, the connected tool can request data for your analyses: metrics, ad costs from your connected ad accounts, individual conversions with the order number in plain text and pseudonymous customer journeys. No tool returns names, email addresses, IP addresses or the pages visited. Orders your shop reported without tracking consent are never returned individually, neither by a tool nor by the read API, and neither is their order number; they are included in counts and revenue totals. > **Legal note:** You choose and engage the AI provider yourself. Depending on the request, it receives personal measurement data, in particular order numbers and pseudonymous customer journeys. Check whether your specific plan and contract allow this processing. If the provider processes the data on your behalf, you need a data processing agreement with them; a personal account or switching off model training does not replace this contract. Also check the information for your visitors and the conditions for processing outside the EEA. The safeguards and retention periods of the built-in Metrunio assistant do not automatically apply to your external AI account. When you disconnect, further requests end; you may need to ask the AI provider to delete content it has already received. This is a general assessment and does not replace a review of your own contract. You read the notice on this on the consent page before allowing access and before creating a read key. We store which version you saw; after disconnecting, this record is kept for three years. You can also give the instruction in advance: with an optional checkbox in the step “Conclude the data processing agreement” or under “Privacy”. The button then shows, instead of the full notice, who gave it, when and in which version, with the wording to expand, along with the tool or key, the account and the scope. With “Allow” or “Create key” you confirm the specific connection. The instruction does not apply to other purposes or recipients. If there is a new version, the button shows the full notice again until someone gives it. If you revoke the advance instruction under “Privacy”, all read keys and all connections to AI tools of this account end immediately, including those someone else created. The next request from a tool is rejected. ## Connecting Claude and ChatGPT You find the address of the MCP server under “Exports & AI connections”. When you enter it in Claude or ChatGPT, the tool sends you to Metrunio: you sign in, choose the account and allow read access. You do not need a key for this. 1. Claude in the browser, the desktop app and on your phone: under “Connectors” in the settings, add a custom connector with the address and connect. You can keep the defaults: “Sign in now” as the authentication and “Use Claude’s published identity” as the OAuth client. “Register automatically” works as well; use it if signing in with the default fails. 2. ChatGPT: under “Plugins”, use “Add” → “Add custom MCP server” with the address and choose OAuth as the sign-in. In a chat, select it via “+”. 3. Claude Code: `claude mcp add --transport http metrunio
`, then run `/mcp` in Claude Code and sign in. 4. On Metrunio’s consent page, check which account is read and where you return afterwards, read the notice on data transfer and choose “Allow”. If Claude signs in with its published identity, the page also shows where the details of the tool come from, that is claude.ai. > **Note:** Allowing access is for those who may create read keys in the account, that is the Admin role. Whether you can add custom connectors in Claude or ChatGPT depends on your plan there. The connection then appears under “Exports & AI connections” among the connected AI tools. You disconnect it there; the tool reads nothing from its next request on. It also ends when the person who allowed it may no longer create keys in the account, and it pauses while the plan does not include the MCP server. ## Connecting other tools with a key Tools without OAuth get a read key from “Exports & AI connections”. It goes into the `Authorization: Bearer` header of every request. - Claude Code with a key: `claude mcp add --transport http metrunio
--header "Authorization: Bearer rk_…"` - Claude Desktop with a key: add a server “metrunio” to the configuration file with the command `npx mcp-remote
--header "Authorization: Bearer rk_…"` and restart Claude. > **Note:** The MCP server and the read API under /v1/data come with Growth, Scale and the agency plan. They are not included in Start and Pro. ## Also asked - Give the AI tools instruction in advance in the agreement step - End all AI connections at once - Model Context Protocol - Connect Claude to Metrunio - Does this work with ChatGPT? - Connect ChatGPT to Metrunio - Feed my own AI with the data - Which plan includes MCP? - Which attribution model does the MCP server use? - How do I disconnect an AI tool? - Do I need a DPA with OpenAI or Anthropic? - Which data does the AI tool receive? - Is connecting ChatGPT GDPR compliant? - Why does my AI tool only see 200 campaigns? - How do I get all rows of the breakdown through the API? ## Related - https://bench.metrunio.com/en/help/chat-fragen - https://bench.metrunio.com/en/help/tagesgrenzen-und-zeitzone - https://bench.metrunio.com/en/help/csv-export - https://bench.metrunio.com/en/help/api-keys-rotieren --- --- slug: google-sheets title: "How do I get my figures into Google Sheets?" category: berichte locale: en updated: 2026-10-15 keywords: ["Google Sheets","spreadsheet","Apps Script","template","trigger","read API","IMPORTDATA"] questions: ["Can I pull my figures into a Google Sheets spreadsheet that updates itself every day?","Connect Google Sheets","Metrunio figures in a Google spreadsheet","Is there a Google Sheets template?","How does a spreadsheet update itself with my figures?","Does IMPORTDATA work?","Where do I keep the key in Apps Script?"] url: https://bench.metrunio.com/en/help/google-sheets --- # How do I get my figures into Google Sheets? **Can I pull my figures into a Google Sheets spreadsheet that updates itself every day?** With a short Apps Script that fetches your daily rows per channel and campaign through the read API every morning and refills a sheet. You keep the read key in the script properties, not in the code and not in a formula. The read API comes with Growth, Scale and the agency plan. A formula in Google Sheets cannot fetch your figures on its own: the read API expects the key in the request header, and no formula sets one. A short script in Apps Script does it instead, the scripting environment that comes with every Google spreadsheet. Every morning it fetches the daily rows of your account and writes them to a sheet called “Metrunio”. Pivot tables and charts built on that sheet then show the new figures. ## How to set it up 1. In the portal, create a read key under “Exports & AI connections” in “API access”, ideally one just for this spreadsheet. It is shown in full only once. 2. Open the spreadsheet and choose “Extensions > Apps Script”. Replace the contents of Code.gs with the template below and save. 3. Open “Project Settings” on the left and add the property METRUNIO_READ_KEY under “Script Properties”, with your key as its value. 4. Select the function installDailyTrigger at the top and click “Run”. The first time, Google asks for your consent: the script wants to edit spreadsheets, fetch an external address and run daily, even when you are not signed in. If Google says the app has not been verified: it is your own script, and “Advanced” lets you continue. 5. The sheet “Metrunio” is then in place, and the trigger refills it every morning between 6 and 7 am. ## The template ```javascript // Metrunio: daily rows per channel and campaign in the sheet "Metrunio". // Enter your read key in the project settings under "Script Properties" // as METRUNIO_READ_KEY, never here in the code. const API_URL = 'https://api.metrunio.com/v1/data/daily'; const SHEET_NAME = 'Metrunio'; const COLUMNS = [ ['day', 'Day'], ['channelName', 'Channel'], ['campaignName', 'Campaign'], ['attributedConversions', 'Attributed conversions'], ['attributedRevenue', 'Attributed revenue'], ['postViewConversions', 'Post-view conversions'], ['unattributedConversions', 'Unattributed conversions'], ['unattributedRevenue', 'Unattributed revenue'], ['clicks', 'Clicks'], ['impressions', 'Impressions'], ['viewableImpressions', 'Viewable impressions'], ['cost', 'Cost'], ]; // Fetches the figures and rewrites the sheet. The trigger calls this every morning. function updateMetrunio() { const key = PropertiesService.getScriptProperties().getProperty('METRUNIO_READ_KEY'); if (!key) throw new Error('The script property METRUNIO_READ_KEY is missing.'); const response = UrlFetchApp.fetch(API_URL, { headers: { Authorization: 'Bearer ' + key, 'Accept-Language': 'en' }, muteHttpExceptions: true, }); const body = response.getContentText(); if (response.getResponseCode() !== 200) { throw new Error('Metrunio ' + response.getResponseCode() + ': ' + errorMessage(body)); } const values = [COLUMNS.map((column) => column[1])]; for (const row of JSON.parse(body).data) { values.push(COLUMNS.map((column) => cell(row[column[0]]))); } const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const sheet = spreadsheet.getSheetByName(SHEET_NAME) || spreadsheet.insertSheet(SHEET_NAME); sheet.clearContents(); sheet.getRange(1, 1, values.length, COLUMNS.length).setValues(values); } // Empty cost stays empty: no cost recorded, which is not the same as zero. // A name starting with =, +, - or @ stays text and does not become a formula. function cell(value) { if (value === null || value === undefined) return ''; if (typeof value === 'string' && /^[=+@-]/.test(value)) return "'" + value; return value; } // The API's message, in the language from Accept-Language. function errorMessage(body) { try { const error = JSON.parse(body).error; return [error.message].concat(error.resolution || []).join(' '); } catch (parseError) { return body.slice(0, 300); } } // Run once: creates the daily run between 6 and 7 am and fills the sheet right away. function installDailyTrigger() { for (const trigger of ScriptApp.getProjectTriggers()) { if (trigger.getHandlerFunction() === 'updateMetrunio') ScriptApp.deleteTrigger(trigger); } ScriptApp.newTrigger('updateMetrunio').timeBased().everyDays(1).atHour(6).create(); updateMetrunio(); } ``` ## What the sheet contains One row per day, channel and campaign for the last 30 days up to and including today, counted in your account’s time zone. Today is complete in the sheet only after the next morning’s run. Attributed conversions and attributed revenue follow your account’s default model, like the reports; clicks and impressions are measured. If a cost cell stays empty, no cost was recorded for that row. That is not the same as zero. Unattributed conversions sit in the row without channel and campaign, and the sums per channel are the same as under “Channels & attribution”. ## Adjusting it - Columns: the COLUMNS list sets the order and the headings. Remove what you do not need. The API also delivers the IDs of channel and campaign (channelId, campaignId) and the attributed acquisition value (attributedSetValue). That is the value you gave a conversion yourself, not revenue. - Period: append, for example, ?from=2026-01-01 to API_URL. Without an end, the period runs up to today. A query returns at most 50,000 rows; if it needs more, the API refuses instead of dropping rows, and a shorter period helps. - Model: with ?model=linear the API uses a fixed model instead of your account’s default model. You join two settings with &, for example ?from=2026-01-01&model=linear. If a run fails, for example because the key was revoked or has expired, Google sends you an email with Metrunio’s message. The sheet then keeps the state of the last successful run. ## Why not IMPORTDATA? IMPORTDATA fetches an address but sends no header. The key would therefore have to be in the address, and so in a formula that anyone you show the spreadsheet to can read. The read API only accepts the key in the request header anyway. > **Caution:** The key is in no cell and no formula. Anyone who may edit the spreadsheet can, however, open the script and read it in the script properties. So only let people edit the spreadsheet who may know the key, and revoke it under “Exports & AI connections” when someone leaves the team. > **Note:** The figures go from Metrunio to Google because you want to view them there, and Google processes them under the terms of your Google account. The rows are sums per day, channel and campaign and contain no identifiers of individual people. If you revoke the key, the script fetches nothing more; what is already in the spreadsheet stays there until you delete it. ## Also asked - Connect Google Sheets - Metrunio figures in a Google spreadsheet - Is there a Google Sheets template? - How does a spreadsheet update itself with my figures? - Does IMPORTDATA work? - Where do I keep the key in Apps Script? ## Related - https://bench.metrunio.com/en/help/power-bi-und-excel - https://bench.metrunio.com/en/help/csv-export - https://bench.metrunio.com/en/help/mcp-anbinden - https://bench.metrunio.com/en/help/api-keys-rotieren - https://bench.metrunio.com/en/help/tagesgrenzen-und-zeitzone - https://bench.metrunio.com/en/help/attributionsmodelle --- --- slug: power-bi-und-excel title: "How do I get my figures into Power BI or Excel?" category: berichte locale: en updated: 2026-10-15 keywords: ["Power BI","Excel","Power Query","query","template","parameter","read API","refresh"] questions: ["Can I load my figures into Power BI or Excel and refresh them there?","Connect Power BI","Load Metrunio figures into Excel","Is there a Power Query template?","Why does Power BI ask me to sign in?","Scheduled refresh in the Power BI service","How do I refresh the figures in Excel?"] url: https://bench.metrunio.com/en/help/power-bi-und-excel --- # How do I get my figures into Power BI or Excel? **Can I load my figures into Power BI or Excel and refresh them there?** With a Power Query query that loads your daily rows per channel and campaign through the read API; Power BI and Excel both understand the same query. You create the read key as a parameter, and the query sends it in the request header, never in the address. The read API comes with Growth, Scale and the agency plan. Power BI and Excel fetch data through Power Query, and both understand the same query, written in the M language. The template below loads your account’s daily rows as a table with suitable column types. After that you refresh it like any other data source. ## How to set it up 1. In the portal, create a read key under “Exports & AI connections” in “API access”, ideally one just for this file. 2. Open the Power Query editor with a blank query: in Excel via “Data > Get Data > From Other Sources > Blank Query”, in Power BI Desktop via “Home > Get data > Blank query”. 3. Create the parameter MetrunioKey of type “Text” via “Home > Manage Parameters > New Parameter” and enter your key as its current value. 4. Select the blank query, click “Advanced Editor”, replace its contents with the template below and confirm with “Done”. 5. If Power Query asks how to access the web content, choose “Anonymous”. The query sends the key itself in the Authorization header, and Power Query only accepts that header with this kind of access. 6. Load the table with “Close & Load” in Excel or “Close & Apply” in Power BI. ## The template ```powerquery // Metrunio: daily rows per channel and campaign, the last 30 days up to today. // The key comes from the parameter MetrunioKey and never appears in the address. let Response = Json.Document( Web.Contents( "https://api.metrunio.com/v1/data/daily", [Headers = [Authorization = "Bearer " & MetrunioKey, #"Accept-Language" = "en"]] ) ), Rows = Table.FromRecords( Response[data], { "day", "channelName", "campaignName", "attributedConversions", "attributedRevenue", "postViewConversions", "unattributedConversions", "unattributedRevenue", "clicks", "impressions", "viewableImpressions", "cost" }, MissingField.UseNull ), Typed = Table.TransformColumnTypes(Rows, { {"day", type date}, {"channelName", type text}, {"campaignName", type text}, {"attributedConversions", type number}, {"attributedRevenue", type number}, {"postViewConversions", type number}, {"unattributedConversions", type number}, {"unattributedRevenue", type number}, {"clicks", Int64.Type}, {"impressions", Int64.Type}, {"viewableImpressions", Int64.Type}, {"cost", type number} }), Named = Table.RenameColumns(Typed, { {"day", "Day"}, {"channelName", "Channel"}, {"campaignName", "Campaign"}, {"attributedConversions", "Attributed conversions"}, {"attributedRevenue", "Attributed revenue"}, {"postViewConversions", "Post-view conversions"}, {"unattributedConversions", "Unattributed conversions"}, {"unattributedRevenue", "Unattributed revenue"}, {"clicks", "Clicks"}, {"impressions", "Impressions"}, {"viewableImpressions", "Viewable impressions"}, {"cost", "Cost"} }) in Named ``` ## What the table contains One row per day, channel and campaign for the last 30 days up to and including today, counted in your account’s time zone. Attributed conversions and attributed revenue follow your account’s default model, like the reports; clicks and impressions are measured. If a row’s cost stays empty, no cost was recorded for it. That is not the same as zero. Unattributed conversions sit in the row without channel and campaign. ## Refreshing - Excel: “Data > Refresh All” fetches the figures again. In the query properties you can have Excel refresh when the file opens. - Power BI Desktop: “Refresh” on the Home ribbon. - Power BI service: for scheduled refresh, set the data source credentials to “Anonymous” and tick “Skip test connection”. Otherwise the service tests the connection without the key and gets a refusal. ## Adjusting it - Period and model: in the Web.Contents call, add for example Query = [from = "2026-01-01", model = "linear"] next to Headers. Without an end, the period runs up to today; without a model, your account’s default model applies. - A query returns at most 50,000 rows. If it needs more, the API refuses instead of dropping rows; a shorter period helps. - When the API refuses, Power Query shows the status number. 401 means the key is missing, incomplete, revoked or expired. 403 means your plan does not include the read API or the account is not active. 422 means the period has too many rows or a setting is wrong. > **Caution:** The key is stored as a parameter in the file. Whoever gets the file gets the key, including anyone allowed to download a report from the Power BI service. Only pass the file to people who may know the key, or delete the parameter’s value first. > **Note:** In Excel and Power BI Desktop the figures stay in your file. If you publish the report to the Power BI service, they go to Microsoft and are processed under the terms of your contract with Microsoft. The rows are sums per day, channel and campaign and contain no identifiers of individual people. ## Also asked - Connect Power BI - Load Metrunio figures into Excel - Is there a Power Query template? - Why does Power BI ask me to sign in? - Scheduled refresh in the Power BI service - How do I refresh the figures in Excel? ## Related - https://bench.metrunio.com/en/help/google-sheets - https://bench.metrunio.com/en/help/csv-export - https://bench.metrunio.com/en/help/mcp-anbinden - https://bench.metrunio.com/en/help/api-keys-rotieren - https://bench.metrunio.com/en/help/tagesgrenzen-und-zeitzone - https://bench.metrunio.com/en/help/attributionsmodelle --- --- slug: kennzahlen-in-worten title: "What is “What these figures mean”?" category: berichte locale: en updated: 2026-10-14 keywords: ["key figures","understand","explanation","overview","measured","attributed"] questions: ["I do not understand the key figures on the overview. Where are they in plain words?","What does attributed mean?","I do not understand my figures","What does the attribution rate mean?","Is there an explanation in plain language?","Why is there no sentence about costs for me?","Why do the overview and the events page show different event counts?","Why does data status show more events than the overview?"] url: https://bench.metrunio.com/en/help/kennzahlen-in-worten --- # What is “What these figures mean”? **I do not understand the key figures on the overview. Where are they in plain words?** Below the tiles on the overview there is a section called “What these figures mean”. It describes the same values in sentences: what occurred in the period, how much of it could be attributed, what the money says and what is missing. If a value is absent, the sentence is left out; nothing is guessed. The tiles give you the number and the term. The section below gives you the connection, for example (the figures are made up): “12,400 signals occurred in this period … of them, 8 out of 10 conversions have a traceable history.” Every sentence links to the page where it can be checked. ## Two rules the sentences follow - No sentence without a value. If no ad spend is recorded, there is no sentence about costs, and no “€0” either. - No judgement. Whether a 68 per cent attribution rate is good depends on the industry, the consent rate and the channel mix. The text explains how the figure comes about; it does not rate it. ## The two words that matter - Measured: received that way. A delivery, a click, a visit, a conversion. - Attributed: distributed across touchpoints by the chosen attribution model. The same conversions, split differently. ## Why “Events” and “Data status” show a different figure The overview and all reports count by the time something happened and leave out rejected events. “Events” and the “Events received” tile in data status count by the time it reached us, rejected events included. If your shop sends last week’s orders today, they appear in the overview on their own day and under “Events” on today’s. For the same period the figures then differ, without anything missing. Almost every figure on the overview is measured or attributed and can therefore be traced back to the raw data. Two come from you: ad spend from your ad account or import, and the acquisition value you set. That value is not revenue. > **Note:** Look up individual terms in the glossary. The section on the overview explains your case; the glossary explains the term. ## Also asked - What does attributed mean? - I do not understand my figures - What does the attribution rate mean? - Is there an explanation in plain language? - Why is there no sentence about costs for me? - Why do the overview and the events page show different event counts? - Why does data status show more events than the overview? ## Related - https://bench.metrunio.com/en/help/berichte-ueberblick - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/glossar --- --- slug: vergleich-vorperiode title: "Why is there no comparison with the previous period?" category: berichte locale: en updated: 2026-09-30 keywords: ["previous period","comparison","last month","percentage","measurement start","overview"] questions: ["Why does my overview show no percentage change compared with the previous period?","Why are the percentages missing on the overview?","What does “previous period incomplete” mean?","Why does the overview show several hundred per cent growth?","When will I see a comparison with last month?","When did my measurement start?","Why does the notification not report a drop?"] url: https://bench.metrunio.com/en/help/vergleich-vorperiode --- # Why is there no comparison with the previous period? **Why does my overview show no percentage change compared with the previous period?** The comparison is only made with a previous period that is fully measured. If it starts before your measurement start, you see “Previous period incomplete” instead of a comparison. The measurement start is the first contact Metrunio measured live (in the browser, on an ad or through the server API); imported orders and ad spend do not count towards it. Every tile on the overview compares the selected period with the period of the same length right before it: 30 days with the 30 days before. That only holds if both are measured. If part of the previous period lies before your measurement, there are hardly any contacts in it, and almost every figure seems to grow by hundreds of per cent. That would be the start of measurement, not a development. So there is no comparison then, but a sentence with the measurement start and the dates of the previous period. ## What counts as the measurement start - The earliest contact Metrunio measured live: in the browser (tracking snippet, Shopify app), on an ad (impression pixel, viewability tag, click redirect) or through the server API. Like the snippet, it reaches back 30 days at most. - Not imported orders: an import of order history brings earlier purchases, but not a single contact they could be attributed to. - Not ad spend: it is not a contact and may reach back a long way. - When the retention period ends, the measurement start moves with it: what has been deleted cannot be compared. ## When the comparison appears As soon as the previous period lies entirely after the measurement start: for 7 days two weeks after the first contact, for 30 days after two months, for 90 days after half a year. A shorter period therefore shows the comparison sooner. ## Where the same rule applies - Notifications about a sharp change compare seven days with the seven before. As long as the previous week lies before the measurement start, they report nothing. - The figures the assistant reads under “Ask your data” and the read API (`/v1/data/overview`) state the measurement start (`measurement.since`) and whether the period is fully measured (`measurement.complete`). > **Note:** The demo’s example data loads regular customers and ad spend long before its first contact. There, too, 30 days show no comparison, while 7 days do. ## Also asked - Why are the percentages missing on the overview? - What does “previous period incomplete” mean? - Why does the overview show several hundred per cent growth? - When will I see a comparison with last month? - When did my measurement start? - Why does the notification not report a drop? ## Related - https://bench.metrunio.com/en/help/berichte-ueberblick - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/aufbewahrung - https://bench.metrunio.com/en/help/demo-ansehen --- --- slug: zugangsdaten-hinterlegen title: "How do I store an advertising platform’s access token?" category: berichte locale: en updated: 2026-10-12 keywords: ["credentials","access token","encrypted","secret","storage"] questions: ["Where do I enter my credentials for Meta, Google Ads, TikTok, LinkedIn or Microsoft Advertising?","Enter credentials","Store access token","Where do you keep my token?","Change token","Delete credentials"] url: https://bench.metrunio.com/en/help/zugangsdaten-hinterlegen --- # How do I store an advertising platform’s access token? **Where do I enter my credentials for Meta, Google Ads, TikTok, LinkedIn or Microsoft Advertising?** In the portal under “Data connections”, in the “Return conversions” and “Receive costs” sections. You enter the token yourself and can replace or remove it at any time; Metrunio encrypts it and from then on shows only the last four characters. With Google Ads and Meta you do not need one: there you sign in at the platform. 1. Create an access token in your ad account with the rights the purpose needs: read for cost sync, write for pushback. 2. Under “Data connections”, open the platform’s connection in the “Receive costs” or “Return conversions” section, or use “Edit” on an existing one. 3. Enter the token in the “Access token” field and save. 4. A new connection starts in test mode. For cost sync, the first fetch shows whether the access works, without writing anything. For pushback, test mode sends test events or nothing at all, depending on the platform; the platform’s card says which. ## What happens to the token | Question | Answer | | --- | --- | | Method | AES-256-GCM, encrypted in the database | | Visible | the last four characters, nothing else | | Who can read it | the application at runtime, neither an interface nor an API | | Another tenant | cannot decrypt it, not even through a mistake | | Another purpose | it is stored per connection and purpose; the cost sync’s stored copy cannot be moved over to pushback | | Log | every change is recorded in the change log: the fact, never the value | > **Note:** An empty token field means “leave unchanged”, not “delete”. Otherwise every other change to the same setting would take the credentials with it. It is removed only explicitly, via “Disconnect”. ## Rights the token needs - Cost sync: read access to the ad account’s reports only. - Conversion pushback: write access to the platform’s conversion interface. - Do not grant more than needed. A token can move budgets and switch campaigns off. > **Caution:** Metrunio never asks for credentials by email or in chat, and never creates accounts on the platforms. Anyone who asks you for them is not Metrunio. ## Also asked - Enter credentials - Store access token - Where do you keep my token? - Change token - Delete credentials ## Related - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/conversion-rueckgabe - https://bench.metrunio.com/en/help/sicherheit-architektur - https://bench.metrunio.com/en/help/zugangsdaten-werbeplattformen --- --- slug: offline-conversions-importieren title: "How do I get CRM deals into the reporting?" category: berichte locale: en updated: 2026-10-16 keywords: ["offline","CRM","import","in-store","phone sales","deal","B2B"] questions: ["Can I import conversions that did not happen on the website?","Do I need consent for the offline import?","Which consent columns does the import need?","Import offline conversions","Match CRM deal","Measure in-store purchase","Attribute phone sale to a campaign","Add a conversion afterwards"] url: https://bench.metrunio.com/en/help/offline-conversions-importieren --- # How do I get CRM deals into the reporting? **Can I import conversions that did not happen on the website?** You import them as CSV: a lead closed on the phone weeks later just as well as a purchase in the shop. Matching happens through a unique anchor (order ID, lead ID or click ID); rows without such an anchor are rejected rather than guessed. 1. Open “Orders & goals” and download the template. 2. Per row, enter a reference, the timestamp, the value and the anchor that identifies the person. 3. Choose the website and the file and click “Check”. The dry run shows what would be imported without storing anything. 4. Click “Import”. Seconds later the conversions appear in journeys and attribution. ## The anchor | Column | What belongs there | | --- | --- | | order_id | the order number assigned online | | lead_id | the lead identifier from the form; the SDK writes it there as `metrunio_lead_id` | | click_id | gclid, fbclid, msclkid, ttclid or li_fat_id | One is enough. If a row carries several, the order number wins over the lead ID, and that over the click ID. The order number is the most unambiguous. For subscriptions there are two optional columns, for purchases only: subscription_id (or abo) with the subscription ID and subscription_renewal (or folgezahlung) with yes or no. A renewal is attributed according to the first order of the same subscription; the article on subscription renewals has more. An empty value means “not a renewal”, an unreadable one rejects the row. ## Consent per row | Column | What belongs there | | --- | --- | | consent_state | granted or partial, as the person consented; empty if there is no information | | consent_purposes | analytics and/or marketing, separated by semicolons | | consent_source | where consent was given, e.g. contact form, cookie banner, contract | | consent_at | when consent was given | | consent_ref | where the evidence is kept on your side: record in your CRM or consent tool including the text version shown | | consent_withdrawn_at | if withdrawn: when; the row is then not imported | Uploading the file is not consent from the people in it. Every row therefore carries its own: with consent the row is matched to its journey, and with marketing it is also reported to advertising platforms; source and time stay with the row as evidence. Without information, only a purchase is imported: for revenue reconciliation with its order number, without browser, customer or advertising identifiers, counted in revenue, attributed to no channel. The same applies to a purchase with denied, as after any refusal, but only with an activated additional instruction for revenue reconciliation; without it the row shows as rejected after the import, with the reason. A lead without information or with denied is rejected, as is a row with a withdrawal or with incomplete or contradictory information. If a row carries consent, you confirm when importing that you can prove it. Metrunio checks your information for completeness and contradictions, not whether the consent is legally valid. When a row is matched by lead ID or click ID, the reference from the first column appears as its order number: the number the deal carries in your CRM or point of sale. A phone sale has no order number from the shop, and an invented one would be worse than the real reference. > **Note:** A row without an anchor is rejected, not imported. It would be revenue without a journey: the conversion count would rise, the match rate would fall, and the measurement would be no better for it. ## What this is not Not offline modelling. Only what actually happened is imported, and the link to the journey comes from a unique anchor. The imported conversion counts as measured; the way it is shared among the touchpoints preceding it counts as attributed. Nothing is extrapolated. > **Legal note:** A conversion from your CRM does not originate in a browser; a consent tool cannot report anything about it. As the controller you are responsible for the consent information. It must show what the person consented to. Before the first import, check whether your privacy policy covers this joining of data. This note does not replace legal advice. > **Caution:** An import cannot be undone with one click: the rows take the same route as measured events. Hence the dry run, and hence “Import” only unlocks after it. Uploading the same file twice still creates no duplicate conversions; the per-row reference prevents that. ## Also asked - Do I need consent for the offline import? - Which consent columns does the import need? - Import offline conversions - Match CRM deal - Measure in-store purchase - Attribute phone sale to a campaign - Add a conversion afterwards ## Related - https://bench.metrunio.com/en/help/conversion-rueckgabe - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/herkunft-im-formular - https://bench.metrunio.com/en/help/abo-folgezahlungen --- --- slug: neukundenkosten-und-deckungsbeitrag title: "What does a new customer cost me, and what is left?" category: berichte locale: en updated: 2026-10-17 keywords: ["new-customer cost","nCAC","contribution margin","margin","ROAS","order value","repeat purchase","products","commerce"] questions: ["How do I see new-customer cost and contribution margin, and which products did a campaign sell?","See new-customer cost","CAC for new customers","ROAS on margin","Contribution margin per campaign","Why do the metrics not change when I pick a campaign?","Average order value","Measure repeat purchase rate","Which products sell","Which products did a campaign sell?","Why is a purchase no longer a new customer afterwards?"] url: https://bench.metrunio.com/en/help/neukundenkosten-und-deckungsbeitrag --- # What does a new customer cost me, and what is left? **How do I see new-customer cost and contribution margin, and which products did a campaign sell?** The “Commerce & products” area in the portal shows new-customer cost, margin ROAS, average order value, repeat purchase rate and a product report. The campaign filter only narrows the product report: the metrics above it always cover all campaigns. They appear as soon as your shop sends the matching figures; without them the metric in question stays empty. The overview and the “Attribution” page show the margin ROAS per channel and per campaign. ROAS on revenue answers the wrong question. Two campaigns with the same ROAS can be worth very different amounts: one brings back customers who would have come anyway, the other brings new ones. One sells goods at a 60 percent margin, the other at 12. ## The four metrics | Metric | How it is calculated | What you need it for | | --- | --- | --- | | New-customer cost | Ad spend divided by attributed orders from new customers | What a new customer costs, not what an order costs | | Margin ROAS | Attributed contribution margin divided by ad spend | Whether anything is left after the cost of goods | | Average order value | Revenue after refunds divided by the number of orders | Whether a campaign brings larger or smaller baskets | | Repeat purchase rate | Share of people with more than one order in the period | Whether a high new-customer price pays off over time | ## What your shop has to send - `newCustomer`: whether this was the customer’s first order. Without it Metrunio derives the answer from its own measurements and labels it “measured” rather than “from the shop”. That is the weaker statement: we do not know the time before the first measurement. A subscription renewal is never a new-customer order, not even a measured one: it counts as an order by an existing customer. - Measured means the person’s first purchase in time, not the first one to arrive. If an earlier purchase arrives later, for example as a catch-up through the Server API, or Metrunio recognises two identifiers as the same person, their later purchases become orders by an existing customer. This does not apply to a purchase already reported to an ad platform or skipped by a new-customers-only destination because of the customer type. It stays as it was reported, in your reports too, so that report and platform say the same. Metrunio never changes what your shop sent. - `netValue` and `costOfGoods`: net value and cost of goods. Only both together yield a contribution margin; if one is missing the field stays empty rather than reporting revenue as margin. - `items`: the cart line items. The product report exists only with them. > **Note:** The article “How do I send cart, new customers and margin from my shop?” shows the call in detail. ## Why a metric stays empty Above the contribution margin you see what share of orders it rests on. Two things can reduce it: an order carried no net value or no cost of goods, or a partial refund did not state which part of it was goods. In the second case the share is not extrapolated; the order is removed from the total and counted instead. A margin that rests 40 percent on extrapolated portions would be worse than one that says what it rests on. ## Contribution margin per channel and per campaign The channel table of the overview and the breakdown by channel or campaign under “Attribution” have a “Margin ROAS” column: the row’s attributed contribution margin divided by its ad spend. Below 1.0, the attributed orders leave less after cost of goods than the ads cost. The figure is attributed, like the ROAS next to it. It does not say whether the orders would have happened without the ads. If only some of a row’s orders carry the cost of goods, the figure shows below it what percentage of orders it comes from. The costs are those of the whole row, the margin only that of these orders, so with low coverage the figure is too low. Nothing is extrapolated. If the cost of goods is missing for all orders in the row or its costs are missing, no value is shown, only the reason. When you narrow to leads there is no cost of goods and the column is left out. In the CSV export, contribution margin, margin ROAS and coverage are the last three columns; scripts find them in the read API under `/v1/data/breakdown`, and the assistant in the “breakdown” tool. ## The product report: measured, attributed per campaign With “All campaigns” it is measured: it shows **what** was sold, not which campaign sold it. You can group by product, variant, category or brand. Fully refunded orders drop out; a partial refund does not reduce the line items, because it rarely says which position came back. If you pick a campaign under “Campaign” above the table, it becomes an attribution: you then see the line items from orders this campaign was involved in, weighted by its share in the chosen model. Across all campaigns together this adds up to the whole revenue again. > **Note:** The campaign filter only applies to the product report. New-customer cost, contribution margin and the other metrics above it stay the figures for all campaigns. You see a campaign’s attributed contribution margin per product in the table. The assistant under “Ask your data” returns the same with the “commerce” tool, and so does your own AI tool through the MCP server. > **Caution:** Orders in foreign currencies are converted into your currency using the European Central Bank reference rate of the order date; you set that currency in the settings. A reference rate is not the rate your payment provider settled at. For orders without a rate the amounts are missing from the totals. They are still counted, and the page names how many. ## Also asked - See new-customer cost - CAC for new customers - ROAS on margin - Contribution margin per campaign - Why do the metrics not change when I pick a campaign? - Average order value - Measure repeat purchase rate - Which products sell - Which products did a campaign sell? - Why is a purchase no longer a new customer afterwards? ## Related - https://bench.metrunio.com/en/help/kohorten-und-amortisation - https://bench.metrunio.com/en/help/shop-bestelldaten-senden - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/werbekosten-importieren - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/abo-folgezahlungen --- --- slug: kohorten-und-amortisation title: "When has a new customer paid for themselves?" category: berichte locale: en updated: 2026-10-16 keywords: ["cohort","payback","repeat purchase","retention","contribution margin","new-customer cost","lifetime value"] questions: ["How do I read the cohorts under “Commerce & products” for repeat purchases, margin per customer and payback?","Cohort analysis","Payback period of new customers","When does a customer pay back","Customer lifetime value by month","Repeat purchase rate by month","Shop retention","CAC payback","Why do the cohorts start before measurement began?","Which orders are behind a cohort cell?","Who bought again in the third month?"] url: https://bench.metrunio.com/en/help/kohorten-und-amortisation --- # When has a new customer paid for themselves? **How do I read the cohorts under “Commerce & products” for repeat purchases, margin per customer and payback?** Under “Commerce & products”, the customer cohorts group customers by the month of their first measured purchase. For each following month they show how many bought again and how much contribution margin per customer has accumulated; “Paid back” names the first month in which that amount reached the new-customer cost of the first-purchase month. New-customer cost on its own does not tell you whether it is too high. 40 euros for a customer who orders once for 30 euros is a loss; the same 40 euros for one who comes back every month can be earned back within a few months, depending on what each order leaves after costs. The cohort view shows which of the two is your case. ## How it is calculated | Column | Meaning | Kind of number | | --- | --- | --- | | First-purchase month | The month of the first purchase Metrunio measured from this customer, in your account’s time zone | measured | | Customers | Identifiers whose first purchase fell in this month | measured | | New-customer cost | Ad spend of the month divided by the attributed new-customer orders, the same calculation as the metric above | attributed | | Month 0, 1, 2 … | “Contribution margin per customer” view: margin per customer, summed up to the end of that month. “Repeat purchase” view: the cohort size in month 0, then the share of customers with at least one purchase in that month | measured | | Paid back | The first month in which the accumulated margin per customer reaches the new-customer cost | calculated from both | | Coverage | Share of orders whose contribution margin could be calculated | measured | An asterisk marks the current month: it is not over yet and its value is still growing. A dagger on the first-purchase month means it falls within the first 90 days of your measurement. Someone who shows up there as a new customer may well have bought from you before, just not measured. The cohorts start with the oldest order Metrunio knows, including order history loaded later. They can therefore lie before the measurement start the overview shows, which only counts from the first contact measured as it happened. For the months before that there are orders, but no measured ad contacts. ## The orders behind a cell Click a cell to see the orders it counts: the purchases in that month by customers of this first-purchase month, with time, order number, value, contribution margin and whether it was the first or a repeat purchase. Each order leads to its journey, that is, the contacts before it. The total and the number of customers at the top are those of the cell; a selected website applies here too. ## Why “Paid back” stays empty - **No costs:** no ad spend is imported for the month. Without costs there is nothing to pay back. - **No new customers:** no new-customer order of the month is attributed to a campaign, so the cost cannot be spread over anyone. - **No margin:** the orders carry no net value or cost of goods. - **Not yet:** everything is there, the amount simply has not reached the cost so far. ## Limits you should know - A repeat purchase only counts if it finds its way to the same identifier: through the customer account (`userId`) or the same browser. Someone ordering without an account on another device appears as a new customer in a later month. The view therefore states how many customers carry a customer account and how many your shop itself reported as new. - New-customer cost belongs to the first-purchase month, not to the individual customer. A cohort formed in the month of an expensive campaign carries its cost, even if some customers came without advertising. - An order without net value or cost of goods adds nothing to the margin, but the division is still by all customers of the cohort. The figure then errs on the low side; coverage tells you what share of orders it rests on. Revenue never stands in for margin. - You can load older orders through `/v1/server/backfill` up to two years back. Only then do early months have their history. However, they are only kept as long as the retention period in *Settings* allows (180 days by default, 90 on the Start plan). Raise it before loading; anything older than the period is deleted by the nightly maintenance, and your cohorts start later. - Subscription renewals count as repeat purchases of their cohort, provided you mark them as such. If a customer’s first measured purchase is already a renewal, their subscription started before measurement: they are in no cohort, rather than showing up as a new customer of a month in which they only kept paying. ## Also asked - Cohort analysis - Payback period of new customers - When does a customer pay back - Customer lifetime value by month - Repeat purchase rate by month - Shop retention - CAC payback - Why do the cohorts start before measurement began? - Which orders are behind a cohort cell? - Who bought again in the third month? ## Related - https://bench.metrunio.com/en/help/neukundenkosten-und-deckungsbeitrag - https://bench.metrunio.com/en/help/aufbewahrung - https://bench.metrunio.com/en/help/shop-bestelldaten-senden - https://bench.metrunio.com/en/help/werbekosten-importieren - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/abo-folgezahlungen --- --- slug: waehrung-der-berichte title: "Which currency do my reports use?" category: berichte locale: en updated: 2026-10-12 keywords: ["currency","exchange rate","ECB","conversion","CHF","euro","multiple countries"] questions: ["I sell in euros and francs. How are the amounts added up?","add up several currencies","convert francs to euros","which exchange rate is used","change reporting currency","trace the conversion rate","conversions without an exchange rate","revenue missing for orders in a foreign currency","ad spend in another currency","ad account billed in francs","ROAS with costs in a foreign currency","ad spend without an exchange rate"] url: https://bench.metrunio.com/en/help/waehrung-der-berichte --- # Which currency do my reports use? **I sell in euros and francs. How are the amounts added up?** In the currency you choose under “Settings”: euro by default, or your store’s currency for an account created through the Shopify app. Orders and ad spend in other currencies are converted using the European Central Bank reference rate: orders at the rate of their order date, ad spend at the rate of its cost date. The rate used stays stored with the order and the cost row, so a report on last month shows the same figure tomorrow as it does today. ## Where the rates come from From the European Central Bank. It publishes its reference rates daily, free of charge and verifiable by anyone. We do not use a commercial rate service: with the ECB rates, every conversion in your reports can be recalculated from public figures. > **Note:** A reference rate is not the rate your payment provider settled at. What arrived in your account may differ: we convert, we do not book. ## Which rate applies to which day The most recent rate published on or before the order date. The ECB publishes on banking days: for an order on Sunday, Friday’s rate applies. That is not an approximation but the correct answer. There is no rate on a Sunday. ## Ad spend Since 12 October 2026, ad spend is converted the same way: each cost row, meaning one campaign on one day, at the rate of its cost date. This applies to costs from a connected ad account, from the CSV import and from manual entry. ROAS, CPA and CAC therefore divide amounts in the same currency. Before that, costs in different currencies were added up without a rate: 100 francs and 100 euros showed as 200 euros. One exception is “Platform reconciliation”: it shows the value a platform reports itself in the ad account’s currency, so you can compare it with the figure in that platform’s interface. The page says which column is in which currency. ## When no rate is available Then that order’s amount is missing from every total, but the order is still counted. How many are affected is shown where the amount is missing: on the “Overview” below measured and attributed revenue, under “Commerce” above the metrics, under “Customer journeys” next to the value, in an experiment under revenue, under “Orders & goals” with the funnel and in “Platform reconciliation” below the table. A revenue alert states their number in its message. Using a factor of 1 would mean treating 200 francs like 200 euros. That would be the quietest way to falsify a figure. Rates are fetched daily and filled in afterwards; if the number stays, the ECB does not publish a rate for that currency. The same applies to ad spend: costs without a rate are missing from ad spend and from every figure calculated from it. ROAS then reads too high, CPA and CAC too low. On how many days this is the case is shown on the “Overview” below the key figures, under “Attribution” and “Budget” above the table, and under “Commerce” above the metrics and with the cohorts. If every cost row in a period lacks a rate, CPA, CAC and ROAS show the reason instead. An ad spend alert states the days in its message. > **Note:** Metrunio fetches the rates for the last 90 days every day and keeps them. If orders or ad spend in another currency date from before the first fetch, for example from an import of last year, Metrunio loads the complete ECB history since 1999 once and adds the rates on the next daily run. Only what the ECB does not publish stays without a rate for good. ## If you change the currency If you change the currency, Metrunio converts the existing orders and ad spend into the new currency at the rate of their respective day. Totals across the change are then in one currency throughout. Days without a rate are treated as above: the amounts are missing until the rate is added. > **Note:** If you sell in only one currency and it is the same as your reporting currency, no conversion takes place at all. The normal case does not need the rates. ## Also asked - add up several currencies - convert francs to euros - which exchange rate is used - change reporting currency - trace the conversion rate - conversions without an exchange rate - revenue missing for orders in a foreign currency - ad spend in another currency - ad account billed in francs - ROAS with costs in a foreign currency - ad spend without an exchange rate ## Related - https://bench.metrunio.com/en/help/neukundenkosten-und-deckungsbeitrag - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/werbekosten-importieren --- --- slug: budget-entscheiden title: "Which campaign actually delivered?" category: berichte locale: en updated: 2026-10-17 keywords: ["budget","effect","experiment","switchback trial","attribution","decision","campaign"] questions: ["What do I move my budget on, if attribution does not measure effect?","Reallocate budget","Should I move budget from Google to Meta?","Which campaign to switch off","Effect instead of attribution","Measure incrementality","Is display worth it","Is my Meta advertising worth it?","What does the switchback trial tell me?"] url: https://bench.metrunio.com/en/help/budget-entscheiden --- # Which campaign actually delivered? **What do I move my budget on, if attribution does not measure effect?** The “Check budget” area sorts your campaigns into three levels: measured (an experiment found a difference), attributed (a model credits it a share) and not answerable (with a reason). Only the top level says anything about effect, and it always carries its interval. Attribution answers the question “which share do I credit to which campaign”. It does not answer the question that comes before a budget decision: “would the conversion have happened without this campaign”. The “Check budget” area keeps the two apart rather than passing one off as the other. | Level | Where it comes from | What you can do with it | | --- | --- | --- | | Measured | A completed experiment: two groups, one difference, one interval | Move budget, since this is the only level that evidences effect | | Attributed | Attribution under the chosen model, together with ad spend | Form a suspicion and start an experiment | | Not answerable | Costs or attributed conversions are missing | Supply the missing figure | > **Note:** Sorted by level, not by revenue. What was measured is at the top, even if another campaign carries more. The level is the actual statement. > **Note:** The next step depends on your plan. On Growth it is “start switchback trial”: you switch the campaign off for a while and back on, and comparing the periods tells you, with an interval, whether the conversions would have happened without it. On Start and Pro, “start experiment” carries a lock with “from Growth”. The “measured” level in this table comes from two campaign groups, so on Scale and the agency plan. ## Why it ends with “start experiment” For an attributed row the next step is not “move budget” but “start experiment”. That is the difference from a media mix model: where other tools output a daily figure across all channels, we output the action that produces the figure in the first place. A number that comes from a regression over past weeks looks exactly like a measured one but is something else. ## When the interval contains zero Then it says “no measurable difference”. That is a result, not a missing answer: the trial ran and found no difference beyond the noise. Nothing is extrapolated, and the campaign still stays on the top level: you now know more than before. > **Caution:** Only experiments of the “two campaign groups” design appear here. A switchback trial (“on, off, on”) applies to the whole account and cannot be attributed to a single campaign. That would be an assignment again, and this level is meant not to be one. Its result is on the experiments page. For small shops it often ends with “no measurable difference”: that means “not shown”, not “does not work”. ## Also asked - Reallocate budget - Should I move budget from Google to Meta? - Which campaign to switch off - Effect instead of attribution - Measure incrementality - Is display worth it - Is my Meta advertising worth it? - What does the switchback trial tell me? ## Related - https://bench.metrunio.com/en/help/experimente - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/werbekosten-importieren - https://bench.metrunio.com/en/help/tarife --- --- slug: funnel-bericht-lesen title: "How do I read the funnel report?" category: berichte locale: en updated: 2026-10-12 keywords: ["funnel","reached","transition","skipped","cohort","channels per step","funnel step","conversions","attribution","acquisition value"] questions: ["What do “Reached”, “Transition” and “Skipped” mean in the funnel?","Where do I find the funnel?","How is the transition calculated?","Why is transition not reached divided by reached?","What does skipped mean?","Which channel brings the sign-ups?","How do I see attribution for a single step?","Why is there no funnel card?","What is the difference between revenue and acquisition value in the funnel?"] url: https://bench.metrunio.com/en/help/funnel-bericht-lesen --- # How do I read the funnel report? **What do “Reached”, “Transition” and “Skipped” mean in the funnel?** “Reached” is the measured number of customers who reached the step in the period, once per customer. “Transition” follows the cohort: of the customers who reached the previous step in the period, the share that reached this step by the end of the period (never above 100%). “Skipped” are customers who reached the step but never the one before it. The funnel lives in the “Orders & goals” report; there is no separate menu item. The card appears as soon as two active funnel steps exist and shows them in order. Four columns are measured, the acquisition value is set by you, and the card says so. | Column | Meaning | Layer | | --- | --- | --- | | Reached (customers) | customers who reached the step in the period, once per customer | measured | | Transition | share of the previous step’s cohort that reached this step by the end of the period | measured | | Skipped | customers who reached the step without ever reaching the previous one | measured | | Revenue, measured | amounts the step’s events brought with them in the period | measured | | Acquisition value, set | acquisition values of the steps reached in the period (see “What is a funnel step worth?”) | set | ## The cohort rule Transition is not “reached in this row divided by reached in the row above”. That calculation compares two different groups: whoever signed up in March can set up in April, and a weak sign-up week would then show more than 100% transition. Instead the report follows the cohort: it takes the customers who reached the previous step in the period and counts what share of them reached this step by the end of the period. The value is therefore always between 0 and 100%. For a short period it is low because the cohort is still under way. That is a statement about time, not about the funnel. “Skipped” shows where your funnel is less linear than you defined it: customers who reached “set up”, say, without “signed up” ever being reported. Usually that is a missing call in the code, or a step that arrived under a different identifier without identify(). The figure is measured; it is neither netted nor filled in. ## Channels per step Below the funnel card, each step lists the channels attributed to it under the attribution model you chose at the top. Each channel shows attributed conversions, attributed revenue and attributed acquisition value. Those shares are attributed, not measured: a customer who arrived through an ad and signed up two weeks later gives the ad a share of “signed up”, provided the contact lies within the click window. A purchase only attaches to a journey that was active in the last 30 days; a step attaches to the customer’s most recent journey even if it has been idle longer. Whether a contact in it receives a share is decided solely by the click or view window. On the “Channels & attribution” page you can narrow the report to a single conversion definition, for example “first_payment”. Cost then remains the total of the period: ad spend is incurred for campaigns, not for a step. The report says so (`costs.basis: filtered`). A ROAS on one step is therefore the attributed revenue of that step against all cost; the acquisition value sits next to it and never in ROAS. > **Note:** The funnel is built only from the steps your code sends. Metrunio does not construct one from click paths, visited pages or time on site, and a step your code does not send is missing from the report. It is not derived from other signals. ## Also asked - Where do I find the funnel? - How is the transition calculated? - Why is transition not reached divided by reached? - What does skipped mean? - Which channel brings the sign-ups? - How do I see attribution for a single step? - Why is there no funnel card? - What is the difference between revenue and acquisition value in the funnel? ## Related - https://bench.metrunio.com/en/help/funnel-schritte-messen - https://bench.metrunio.com/en/help/funnel-schritte-einbauen - https://bench.metrunio.com/en/help/wert-je-schritt - https://bench.metrunio.com/en/help/attributionsmodelle - https://bench.metrunio.com/en/help/attributionsfenster - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt - https://bench.metrunio.com/en/help/roas-und-kennzahlen --- --- slug: wert-je-schritt title: "What is a funnel step worth?" category: berichte locale: en updated: 2026-10-12 keywords: ["acquisition value","set","value","fixed value","funnel step","value logic","ROAS","revenue","funnel"] questions: ["What is the acquisition value of a step, and does it count as revenue?","What is the acquisition value?","What is the fixed value?","Can I give a sign-up a value?","What does “from the event, otherwise acquisition value” mean?","Does the value of a step count as revenue?","How does a step value affect ROAS?","Why has my revenue been lower since 30.09.2026?"] url: https://bench.metrunio.com/en/help/wert-je-schritt --- # What is a funnel step worth? **What is the acquisition value of a step, and does it count as revenue?** Every step can carry an acquisition value in the portal: what a customer who reached this step is worth to you. You set this value, so reports show it separately and never in revenue or ROAS. If an event brings its own value, such as the amount of the first payment, that is measured revenue. A purchase brings its value with it: the order value. A funnel step brings none, because a sign-up has no price. So that you can still hold a funnel against ad spend, you give each step an acquisition value in the portal: what a customer who reached this step is worth to you. That is a decision you make, and your team should know it. ## The value logic of a step | Value logic | Meaning | | --- | --- | | From the event, otherwise acquisition value | The default. If the event carries `value` and `currency`, that is measured revenue. Otherwise the acquisition value applies. | | Acquisition value (set) | Every reached step counts with the value from the portal. An amount in the event is not used. | | Value from the event | Only the amount from the event counts, as revenue. Without an amount the step has no value. | | No value | The step only counts as reached. | The default suits steps whose value the event sometimes knows, such as “first payment” with the amount of the chosen plan: `metrunio.goal('first_payment', { value: 49, currency: 'EUR' })`. A conversion never carries both: either the amount from the event counts as revenue, or the acquisition value stands as a set value. A value in the event always requires a currency. ## Measured, attributed, set Whether a customer reached a step is measured. How revenue and acquisition value are shared among the touchpoints before it is attributed. What a step is worth, you decided: that figure is set, and the signal itself does not contain it. ## Where the acquisition value appears - In the overview as a figure of its own, “Acquisition value, set”, as soon as one occurs in the period. - Under “Channels & attribution” per channel or campaign as a column of its own, attributed by the chosen model. - In the funnel per step next to measured revenue, and per channel. - On every single conversion and in the CSV exports in a column of its own, separate from revenue. - Google, Meta and the other ad platforms still receive it as the value of the conversion. They bid on it, which is what it is for. Revenue, attributed revenue and ROAS contain only amounts an event brought with it. You set a channel’s acquisition value against its cost yourself: both sit in the same row under “Channels & attribution”. > **Note:** Until 30.09.2026 the acquisition value counted as revenue, in past periods too. Existing conversions have been converted, so revenue and ROAS for those periods are lower by these values than before. If you change a step’s acquisition value, the new value applies to new conversions; existing ones keep theirs. ## Also asked - What is the acquisition value? - What is the fixed value? - Can I give a sign-up a value? - What does “from the event, otherwise acquisition value” mean? - Does the value of a step count as revenue? - How does a step value affect ROAS? - Why has my revenue been lower since 30.09.2026? ## Related - https://bench.metrunio.com/en/help/funnel-schritte-messen - https://bench.metrunio.com/en/help/funnel-bericht-lesen - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt - https://bench.metrunio.com/en/help/budget-entscheiden --- --- slug: berichte-je-website title: "How do I see the figures for a single website?" category: berichte locale: en updated: 2026-10-15 keywords: ["website","shop","several websites","filter","assign campaign","ROAS"] questions: ["Can I narrow the reports down to one website?","Figures per shop","I have two shops in one account","How do I separate the reports of several websites?","How do I assign a campaign to a website?","Why are costs missing when I pick a website?","ROAS per website"] url: https://bench.metrunio.com/en/help/berichte-je-website --- # How do I see the figures for a single website? **Can I narrow the reports down to one website?** If your account measures more than one website, you pick it under “Website” in the period row at the top of Overview, Customer journeys, Channels & attribution, Check budget and Commerce & products. Orders or leads count for the website where they came in. Costs and ad contacts count only through the campaigns you assign to the website under “Campaigns”. ## What counts towards a website - Orders or leads and their revenue belong to the website where they came in. Attribution still uses all of the person’s contacts, including ads that belong to no website. - Visits and events belong to the website where they were measured. - Costs, impressions, clicks and opens belong to a campaign. They count only for the website you assigned the campaign to and are not divided among other websites. ## Assigning campaigns 1. Open “Campaigns”. With two or more websites, the “Website” column appears there. 2. Pick the website each campaign leads to. “No website” removes the assignment. 3. In the overview, pick the shop under “Website” at the top. Ad spend, CPA and ROAS then cover the campaigns of that website. > **Note:** If no campaign is assigned to a website, it shows no ad spend, no CPA and no ROAS, and the reason is stated. A campaign belongs to at most one website: if it leads to two shops, its costs are missing from both reports until you split it. > **Note:** The assignment is a view and also applies to past periods. It does not change measured figures, and the report across all websites stays as it is. A journey belongs to the website where it started or where the order was placed. A cohort under commerce is the customers whose first purchase was on this website, with their later purchases there. Data status always shows the whole account. When you switch between these reports, the selected website stays. In the chat and via MCP you name the website by its name, its site ID or its address. In the read API, `siteId` narrows the results, using the site ID from the setup. The Shopify app always shows the figures of its own shop, even if your account measures other websites. ## Also asked - Figures per shop - I have two shops in one account - How do I separate the reports of several websites? - How do I assign a campaign to a website? - Why are costs missing when I pick a website? - ROAS per website ## Related - https://bench.metrunio.com/en/help/website-hinzufuegen - https://bench.metrunio.com/en/help/roas-und-kennzahlen - https://bench.metrunio.com/en/help/kampagnenstruktur - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/mcp-anbinden --- --- slug: alarme-in-slack-und-teams title: "How do I get alerts and reports in Slack or Teams?" category: berichte locale: en updated: 2026-10-15 keywords: ["Slack","Teams","Microsoft Teams","alert","report","notification","channel"] questions: ["Can Metrunio send alerts to a Slack or Teams channel?","Alert in Slack","Notification in Microsoft Teams","Weekly report in Teams","Slack incoming webhook","Teams workflow webhook","Notification without email"] url: https://bench.metrunio.com/en/help/alarme-in-slack-und-teams --- # How do I get alerts and reports in Slack or Teams? **Can Metrunio send alerts to a Slack or Teams channel?** Through a webhook address, on every plan: under “Settings → Notifications” you enter the webhook address of a Slack or Teams channel and choose alerts, reports or both. The message is a short summary with a link to the portal, in German or English. ## Slack 1. Create an app for your workspace at api.slack.com/apps, or open an existing one. 2. Switch on “Incoming Webhooks” and add a webhook with “Add New Webhook to Workspace”. 3. Pick the channel and copy the address that starts with https://hooks.slack.com/services/. 4. Enter it in the portal under “Settings → Notifications → Slack and Teams”. Metrunio sends a test message right away. ## Microsoft Teams 1. In the channel, open the menu with the three dots and choose “Workflows”. 2. Choose the template for webhook requests: “Post to a channel when a webhook request is received”. 3. Follow the steps and copy the address of the workflow at the end. 4. Enter it in the portal, as for Slack. > **Note:** For new channels, Microsoft recommends Workflows instead of the former Office 365 connectors. Metrunio sends the format Workflows expect: an Adaptive Card. ## What the message contains - Alerts: what happened, with the figures and a link to data status or the portal. - Reports: per company, measured and attributed conversions, revenue and ROAS where it is calculated. If you manage client accounts, up to six appear in the message, the rest in the portal and the email. - Not in the chat: the CSV, the breakdown by channel, order numbers and visitor identifiers. The CSV and the breakdown are in the email and the portal. - Even a total can reveal something about individual people: with small numbers, such as a single order in a day, it may be possible to tell which transaction it is. So choose a channel that only people who may see these figures can read. - At most five channels per company, on every plan. - Language per channel: German or English, like the emails. - The report arrives at the interval set under “Report delivery”. If delivery is off, none arrives in the channel either. - If a message does not arrive, Metrunio retries for up to 24 hours. If it keeps failing, the channel shows red in the portal with the reason. > **Caution:** Anyone who knows the address can post to the channel. Metrunio stores it encrypted and afterwards shows only its end. Do not share it; if you need a new one, delete the channel and add it again with the new address. ## Also asked - Alert in Slack - Notification in Microsoft Teams - Weekly report in Teams - Slack incoming webhook - Teams workflow webhook - Notification without email ## Related - https://bench.metrunio.com/en/help/webhooks-ausgehend - https://bench.metrunio.com/en/help/vergleich-vorperiode - https://bench.metrunio.com/en/help/e-mails-und-newsletter --- --- slug: google-search-console title: "Connect and read Google Search Console" category: berichte locale: en updated: 2026-10-16 keywords: ["Search Console","Google","organic search","SEO","clicks","impressions","position","search queries","property"] questions: ["How do I see clicks from Google search next to my measured visits?","Connect Search Console","Link Google Search Console to Metrunio","Why does Google count more clicks than Metrunio measures visits?","Which search queries bring visits to my pages?","What does “reported” mean in the Organic search report?","Which property should I choose?","Domain property or URL prefix?","Why are the last days missing from Google?","Property not verified","How do I disconnect Search Console?","SEO figures in the portal","Who may connect a Search Console property?","The colleague who connected Search Console has left"] url: https://bench.metrunio.com/en/help/google-search-console --- # Connect and read Google Search Console **How do I see clicks from Google search next to my measured visits?** Connect Google Search Console under “Organic search” and choose a property for each website. The report puts clicks, impressions, click-through rate and position, as Google reports them, next to the visits from Google search that Metrunio measures itself and the conversions attributed to them. Google’s figures go into none of Metrunio’s totals. ## Connecting 1. In the portal, open “Organic search” in the “Analyse” group. If the entry is missing, the integration is not yet available for your account. 2. Click “Sign in with Google” and sign in with the Google account that has access to your website in Search Console. The Admin role may connect it. 3. Confirm the access at Google. Metrunio only asks for permission to read Search Console (`webmasters.readonly`). It cannot change anything there. 4. Back in the portal, choose the property for each website and save. The one that matches the website’s address is suggested. A domain property (`sc-domain:example.com`) covers all subdomains and both protocols, a URL-prefix property only that one address. 5. Before saving, you tick a box to confirm that you may retrieve the data of the chosen properties for this account and provide it here. An agency’s Google account often sees the properties of several clients; only connect the ones that belong to this account. ## Three kinds of figures - Reported: clicks, impressions, click-through rate and average position in Google web search, as Google delivers them. Metrunio adds them to none of its own totals, neither the overview nor attribution. - Measured: visits Metrunio recorded itself that came from organic Google search, per landing page. - Attributed: conversions and revenue that the chosen model credits to these visits. Pages are matched by their address without parameters and anchors, with and without www. The search queries come from Google only: Metrunio does not see what someone searched for, and it does not link any search query to a visit, a person or a conversion. ## Why Google counts more clicks than Metrunio measures visits Google counts every click on a search result. Metrunio measures a visit only when consent has been given and the browser allows measurement; an ad blocker can prevent it. The gap between the two columns therefore shows which share of the visits from search is measured. It is not an error. ## Period, delay and time zone - Google reports with a delay of two to three days. The report names the last day with figures from Google and shows visits and conversions for exactly those days. - Google counts days in the Los Angeles time zone, Metrunio in your account’s time zone. At the edge of a day, a few hours therefore fall on the neighbouring day. This cannot be converted, because Google delivers nothing smaller than a day. - Metrunio asks Google for the figures when you open the report and keeps them in memory for no more than one hour, only for your account and the chosen property. None of them is kept. After you disconnect or revoke access, the report shows nothing more from this cache. - Landing pages are shown only as long as the raw events with the address are retained. Older visits count in the totals, but without a page. ## What Google does not list individually Google does not list rare search queries individually, to protect the people searching. Their clicks only appear in the total, which is why the query rows add up to less. The report shows the 100 most frequent queries and the 100 pages with the most clicks. ## Websites and properties The report follows the website choice in the period bar. “All websites” combines up to five websites with a property; a website without a property does not appear. ## When figures from Google are missing - Property not verified: Google releases no figures for a property without verification. Verify it in Search Console or choose another one. - The Google sign-in is no longer valid: it was revoked or has expired. Sign in again under “Organic search”. - Google is not accepting further queries right now: try again in a few minutes. ## When the person who connected it leaves If the person who connected Search Console loses the Admin role or their access to this account, the connection keeps running. The connection then shows a note for the admins. Sign in yourself with “Sign in with Google again”; after that the connection runs on your access. ## Disconnecting “Disconnect” deletes the stored token and the property per website; measured figures stay. If you wish, Metrunio also revokes the access at Google. That withdraws your Google account’s access entirely, including in other Metrunio accounts you connected with the same Google account. You can also remove the access yourself at any time at myaccount.google.com/permissions. ## Who connects, and whose data - Only connect properties whose data you may retrieve for this client account and provide here. Having access in your Google account does not mean you may put the figures into any account. - If the person who connected loses their role or membership in the account, the connection keeps running. The account’s admins then see a notice and can disconnect or reconnect with another Google account. > **Legal note:** Search queries and pages can identify people, for example by name. Metrunio therefore processes the figures on your behalf under the data processing agreement; you determine their legal basis. With every request Google receives the credential, the property and the parameters of the query. The details are in the privacy policy under “Signing in with Google Search Console”. This note is not legal advice. ## Also asked - Connect Search Console - Link Google Search Console to Metrunio - Why does Google count more clicks than Metrunio measures visits? - Which search queries bring visits to my pages? - What does “reported” mean in the Organic search report? - Which property should I choose? - Domain property or URL prefix? - Why are the last days missing from Google? - Property not verified - How do I disconnect Search Console? - SEO figures in the portal - Who may connect a Search Console property? - The colleague who connected Search Console has left ## Related - https://bench.metrunio.com/en/help/quellen-erkennen - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt - https://bench.metrunio.com/en/help/tagesgrenzen-und-zeitzone - https://bench.metrunio.com/en/help/berichte-je-website - https://bench.metrunio.com/en/help/adblocker - https://bench.metrunio.com/en/help/aufbewahrung --- --- slug: relevanz-kosten title: "How do I get costs from releva.nz?" category: berichte locale: en updated: 2026-10-16 keywords: ["releva.nz","relevanz","retargeting","display","costs","API key"] questions: ["How do the ad costs of my retargeting campaigns at releva.nz get into Metrunio?","Connect releva.nz","Import relevanz costs","Retargeting costs in Metrunio","Where do I find the shop ID at releva.nz?","releva.nz statistics API key","Why are releva.nz costs only per shop?"] url: https://bench.metrunio.com/en/help/relevanz-kosten --- # How do I get costs from releva.nz? **How do the ad costs of my retargeting campaigns at releva.nz get into Metrunio?** With the statistics API key of your releva.nz account and the shop ID under “Data connections → Receive costs”. Metrunio then fetches costs, impressions and clicks per day for the whole shop every day. If releva.nz is missing from the list, the integration is not yet enabled for your account. 1. In releva.nz, create the statistics API key under “Account” with “Generate new API key”. A new key makes the old one invalid immediately; if you create a new one later, enter it in Metrunio again. 2. Open your shop’s “Media library” in releva.nz. The number at the end of the address (…/media-library/1234) is the shop ID. 3. In Metrunio under “Data connections → Receive costs”, choose releva.nz, enter shop ID, currency and key, and save. The first fetch then runs in test mode, as with every connection. 4. Under the unmatched campaigns, assign the row “releva.nz ” to a campaign in Metrunio, ideally in the display channel. ## What Metrunio reads Per day, the costs, impressions and clicks releva.nz reports for the shop. They appear as reported next to the measured numbers. Metrunio does not take over conversions and revenue according to releva.nz; they follow releva.nz’s own attribution. ## Limits - Costs are counted per shop, not per campaign: the statistics API does not provide a list of campaigns with names. If a shop runs several campaigns, their costs share one row. - The API does not name the currency. You set it on the connection; it should be the one of your releva.nz account. - For Metrunio to assign clicks on the ads to the same campaign, the ad links need UTM parameters with this campaign name. Without them, the costs are on the campaign but the visits are not. - The key travels to releva.nz as part of the address, encrypted via https. Metrunio stores it encrypted and afterwards no longer shows it in full, at most its last four characters. ## Also asked - Connect releva.nz - Import relevanz costs - Retargeting costs in Metrunio - Where do I find the shop ID at releva.nz? - releva.nz statistics API key - Why are releva.nz costs only per shop? ## Related - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/zugangsdaten-werbeplattformen - https://bench.metrunio.com/en/help/abgleich-plattformzahlen --- --- slug: webanalyse title: "Web analytics: page views, visits, time on site" category: berichte locale: en updated: 2026-10-17 keywords: ["web analytics","page views","visits","visitors","sessions","time on site","engagement time","bounce rate","landing page","exit page","real time","paths"] questions: ["What does web analytics in Metrunio show me?","Does Metrunio have web analytics?","How many visitors did my website have?","Where do I see page views?","How long do visitors stay on my site?","What is time on site?","Which pages get the most views?","Can I see visits per hour?","Is there a real-time view?","Do I still need Google Analytics?","Does web analytics cost extra?","Does Metrunio show countries?"] url: https://bench.metrunio.com/en/help/webanalyse --- # Web analytics: page views, visits, time on site **What does web analytics in Metrunio show me?** Under “Web analytics” you see, on every plan, how many page views, visits and visitors your website has, how long visitors stay active and how many leave right away. You can view it per day or, for periods of up to 14 days, per hour, split by channel, page and technology. Only visitors who consented to analytics are counted; nothing is extrapolated. How many people were in the shop yesterday, and how long did they look around? Web analytics answers that, from the same script that measures the contacts before your orders. You do not need a second installation, and it is part of every plan, including the free Start plan. ## What the tabs show | Tab | What you see | | --- | --- | | Overview | Five tiles: page views, visits, visitors, time on site and bounce rate, each next to the previous period. Below them the trend per day or per hour, visits by hour of day and a table per channel. Each row takes you to the attribution of the same channel. | | Sources | Channel, source and campaign, expandable, with the same columns. | | Pages | The most viewed pages, the landing pages and the exit pages, each with views, visits, time on site and exit rate. | | Technology | Device, browser and operating system as shares. | | Paths | The most common routes from a landing page to the next pages. | | Real time | The visits of the last 30 minutes, refreshed every minute. | At the top you choose website, period and channel; the selection applies to all tabs. ## The terms | Term | Meaning | | --- | --- | | Page view | A page that was opened, including a page change in a single-page app. Test data and detected bots are not counted. | | Visit | Everything a browser does on your website without a break of more than 30 minutes. If someone comes back through a new campaign, a new visit starts. | | Visitor | A browser with its random identifier in the selected period. The same person on phone and laptop counts as two visitors. | | Active time | The time the page was open in a visible tab, at most 30 minutes per page. A tab in the background does not count. | | Time on site | The average active time per visit; the table shows the median next to it. | | Engaged visit | A visit with at least 10 seconds of active time, at least two page views or a conversion. | | Bounce rate | The share of visits that were not engaged. | | Landing page, exit page | The first and the last page of a visit, without the query part of the address. | | Exit rate | The share of a page’s views after which the visit ended. | The channel, source and campaign of a visit come from its first event, by the same rule as the contacts in the journey. ## Per day or per hour You can view periods of up to 14 days per hour. If you choose a longer period, the trend shows days and the switch for hours is greyed out. Days and hours run in your account’s time zone. ## Only with consent Web analytics counts what the script sends after consent to analytics. Anyone who declines is in none of these figures, and Metrunio does not add them back in. That is why the top of the section says “Measured for visitors with consent”, together with how many events in the period were not recorded for lack of consent. For days before this count existed, the figure is missing; it is not a zero. Time on site comes from a short signal the script sends every 15 seconds while the page is visible, and once when the visitor leaves. It carries only the session, the page and the time, does not count against your event quota and is not stored as a separate event. Until the updated script sends data, time on site stays empty. ## What web analytics does not show - There are no heatmaps, no mouse movement and no session recordings. What happened during a visit is shown in a journey’s visit history, as the sequence of reported events. - Countries are still to come. Until then, the “Technology” tab shows device, browser and operating system. - There is no page funnel built from pages you define and no search terms from your shop search. Funnel steps your code reports are evaluated in the funnel report. - Visits and daily figures are kept as long as your account’s journeys, the hourly figures for 15 days. In the chat you can ask about the same figures on every plan, through MCP and the read API from Growth. ## Also asked - Does Metrunio have web analytics? - How many visitors did my website have? - Where do I see page views? - How long do visitors stay on my site? - What is time on site? - Which pages get the most views? - Can I see visits per hour? - Is there a real-time view? - Do I still need Google Analytics? - Does web analytics cost extra? - Does Metrunio show countries? ## Related - https://bench.metrunio.com/en/help/was-ist-ein-absprung - https://bench.metrunio.com/en/help/weniger-besuche-als-ga4 - https://bench.metrunio.com/en/help/unterschied-web-analytics - https://bench.metrunio.com/en/help/besuchsverlauf - https://bench.metrunio.com/en/help/tagesgrenzen-und-zeitzone - https://bench.metrunio.com/en/help/consent-grundsatz --- --- slug: was-ist-ein-absprung title: "What is a bounce?" category: berichte locale: en updated: 2026-10-18 keywords: ["bounce","bounce rate","engaged visit","engaged session","engagement","exit rate","web analytics"] questions: ["When does a visit count as a bounce?","What does bounce rate mean?","What is an engaged visit?","Does a visit with only one page always count as a bounce?","Why is my bounce rate so high?","Does Metrunio calculate the bounce rate like GA4?","What is the difference between bounce rate and exit rate?"] url: https://bench.metrunio.com/en/help/was-ist-ein-absprung --- # What is a bounce? **When does a visit count as a bounce?** A visit is a bounce when it was not engaged: less than 10 seconds of active time, only one page view and no conversion. The bounce rate is the share of these visits among all visits in the period, counted for visitors who consented to analytics. Someone comes to your product page through an ad, reads the description for 40 seconds and leaves. A bounce? No. The visit was active for more than 10 seconds and therefore counts as engaged, even though it had only one page. Someone who taps back to the search engine after three seconds, on the other hand, is a bounce. ## The rule - A visit is engaged if at least one of these applies: 10 seconds of active time, two page views or a conversion. - Active time only counts while the page is open in a visible tab. A tab in the background does not count. - The bounce rate divides the visits that were not engaged by all visits in the period. ## Bounce rate and exit rate The exit rate belongs to a page: it says after how many of its views the visit ended. Every visit ends somewhere, so every page has one. Under “Pages”, the bounce rate appears only for landing pages, because a bounce has exactly one page: the visit starts there and ends there. ## How GA4 calculates it GA4 calls an engaged visit an engaged session and uses the same three conditions; the 10 seconds can be extended there. Its bounce rate is likewise the share of sessions that were not engaged. If the rates still differ, it is usually because of which visits are counted in the first place. ## What a high bounce rate means On its own, nothing yet. A page with opening hours or a guide that answers the question straight away has often done its job in a few seconds. The comparison tells you more: if one campaign brings clearly more bounces to the same page than the other channels, the ad may not match what the page shows. The per-channel table in the overview puts this side by side. ## Where the statements about GA4 come from - Engaged session (longer than 10 seconds, a key event or two page views): support.google.com/analytics/answer/12195621, retrieved 18 October 2026 - Time until a session counts as engaged and session end after 30 minutes, both adjustable: support.google.com/analytics/answer/9191807, retrieved 18 October 2026 - A new campaign or source does not start a new session: support.google.com/analytics/answer/9191807, retrieved 18 October 2026 - Known bots are excluded automatically: support.google.com/analytics/answer/9888366, retrieved 18 October 2026 ## Also asked - What does bounce rate mean? - What is an engaged visit? - Does a visit with only one page always count as a bounce? - Why is my bounce rate so high? - Does Metrunio calculate the bounce rate like GA4? - What is the difference between bounce rate and exit rate? ## Related - https://bench.metrunio.com/en/help/webanalyse - https://bench.metrunio.com/en/help/weniger-besuche-als-ga4 - https://bench.metrunio.com/en/help/besuchsverlauf --- --- slug: weniger-besuche-als-ga4 title: "Why do I see fewer visits than in GA4?" category: berichte locale: en updated: 2026-10-18 keywords: ["GA4","Google Analytics","Matomo","visits","sessions","discrepancy","consent","Consent Mode","bots"] questions: ["Why does Metrunio show fewer visits than Google Analytics?","Why do visits differ from Google Analytics?","Metrunio shows fewer sessions than GA4","Why do I see more visits than in GA4?","Why do visitor numbers not match Matomo?","Does Metrunio count visitors without consent?","Are visitors without consent extrapolated?","Which visitor number is right?"] url: https://bench.metrunio.com/en/help/weniger-besuche-als-ga4 --- # Why do I see fewer visits than in GA4? **Why does Metrunio show fewer visits than Google Analytics?** Usually because of consent: Metrunio only counts visits from people who consented to analytics and does not add the others back in. In advanced Consent Mode, GA4 can send cookieless measurements without consent and, above a minimum amount of data, model the behaviour of those who decline. Detected bots, test data and small differences in the terms add to this. Two tools, the same website, two different numbers. That is rarely an error. Usually the two tools are simply not counting the same people. ## The reasons, most important first | Reason | Metrunio | GA4 | | --- | --- | --- | | Consent | counts only visitors who consented to analytics; how many events were not recorded for lack of consent is shown at the top of web analytics | in advanced Consent Mode, sends cookieless measurements without consent and, above a minimum amount of data, models the behaviour of those who decline | | Bots | detected bots are not counted; detection uses the user agent | excludes traffic from known bots | | New visit | after a 30-minute break and when someone comes back through a new campaign | after a 30-minute break, adjustable; a new campaign does not start a new session | The first reason almost always weighs most, and how much depends on your banner: if a large share declines, a large share is missing in Metrunio. The third reason works the other way. If someone comes back through a second ad within half an hour, that is two visits in Metrunio and one in GA4. ## What else plays a part - Test data: events from the live test are not counted in web analytics. - Ad blockers: if the script runs through your own measurement domain, it is blocked less often. Metrunio may then see visits that GA4 misses. - Visitors: Safari may delete the identifier in the browser after seven days without a visit. If the person comes back after that, they are a new visitor. - Time zone: Metrunio cuts days in your account’s time zone. If GA4 is set to another one, the day boundaries shift. ## How to check whether consent is the reason 1. Open “Web analytics” and read the notice at the top: it states how many events in the period were not recorded for lack of consent. 2. Check in the live test whether your banner reports consent and refusal to Metrunio correctly. 3. Compare the same period in the same time zone, and in GA4 compare sessions, not users. > **Note:** Metrunio does not fill the gap. The figures describe visitors with consent; how much is missing is shown in the notice as a number of events, not visits. The statements about GA4 follow Google’s own help on sessions, Consent Mode and bot traffic; the source for Consent Mode is on the comparison page of the website. ## Where the statements about GA4 come from - Engaged session (longer than 10 seconds, a key event or two page views): support.google.com/analytics/answer/12195621, retrieved 18 October 2026 - Time until a session counts as engaged and session end after 30 minutes, both adjustable: support.google.com/analytics/answer/9191807, retrieved 18 October 2026 - A new campaign or source does not start a new session: support.google.com/analytics/answer/9191807, retrieved 18 October 2026 - Known bots are excluded automatically: support.google.com/analytics/answer/9888366, retrieved 18 October 2026 ## Also asked - Why do visits differ from Google Analytics? - Metrunio shows fewer sessions than GA4 - Why do I see more visits than in GA4? - Why do visitor numbers not match Matomo? - Does Metrunio count visitors without consent? - Are visitors without consent extrapolated? - Which visitor number is right? ## Related - https://bench.metrunio.com/en/help/webanalyse - https://bench.metrunio.com/en/help/was-ist-ein-absprung - https://bench.metrunio.com/en/help/messen-ohne-einwilligung - https://bench.metrunio.com/en/help/consent-status-pruefen - https://bench.metrunio.com/en/help/bots - https://bench.metrunio.com/en/help/eigene-messdomaene --- --- slug: warum-keine-pageviews title: "No data after setup? Check these six points" category: datenqualitaet locale: en updated: 2026-10-14 keywords: ["no data","page views","empty","troubleshooting","installation"] questions: ["No data arrives after installation. What do I check?","Why are no page views showing?","No data after installation","Why is no data arriving?","Tracking is not working","No events arriving","Dashboard is empty","Why does it say “no events for 24 hours” when one just arrived?"] url: https://bench.metrunio.com/en/help/warum-keine-pageviews --- # No data after setup? Check these six points **No data arrives after installation. What do I check?** First: is the data processing agreement concluded? Without it Metrunio accepts nothing, and the portal shows “Measurement paused: DPA missing.”. If it is concluded, the GTM container is usually not published, consent is missing or the domain is not in the allowed list; these six steps cover the most common causes. 1. Check that the data processing agreement is concluded. If the portal shows “Measurement paused: DPA missing.” or the live test reports PROCESSING_AGREEMENT_MISSING, conclude it under “Privacy”; data arrives a few seconds later. 2. Check in Google Tag Manager that the container has been published. Preview alone is not enough. 3. Open your website in a new tab and start the live test in the portal. 4. Give analytics consent in the consent banner. Without consent we deliberately store nothing. 5. Check under “Setup” that your domain is in the list of allowed domains. 6. If it stays empty, run the diagnosis again in the setup health centre. > **Note:** If the health centre says “No new events have arrived in the past 24 hours”, that is a note, not a fault: data used to arrive, and nothing new has come in for a day. The finding names the last event, and the existing reports remain. A day without visits is no fault in itself; if you expected visits, the six points above apply just the same. The last event in the finding is the last one from live operation; test events do not count for it. The note only appears once the first live signal is more than a day old, and not if data was deleted after a consent withdrawal during that day. In that case it is unknown whether anything arrived, and we do not claim it. ## Further causes - An ad blocker in your own browser. Test in another browser or profile as well. - The snippet is only on the home page, not in the shared layout. - A cache or CDN is still serving the old page; clear it. - testMode: true is set. The data is there, but visible only with the “Show test data” switch. ## Also asked - Why are no page views showing? - No data after installation - Why is no data arriving? - Tracking is not working - No events arriving - Dashboard is empty - Why does it say “no events for 24 hours” when one just arrived? ## Related - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/gtm-verbinden - https://bench.metrunio.com/en/help/erlaubte-domains - https://bench.metrunio.com/en/help/health-center - https://bench.metrunio.com/en/help/consent-status-pruefen --- --- slug: health-center title: "What does the setup health centre do?" category: datenqualitaet locale: en updated: 2026-10-12 keywords: ["health centre","diagnostics","finding","check","data quality"] questions: ["How do I find out what is missing in my setup?","Run diagnostics","What is the health check?","Check my setup"] url: https://bench.metrunio.com/en/help/health-center --- # What does the setup health centre do? **How do I find out what is missing in my setup?** The health centre runs a diagnosis across your setup and reports every finding with cause, effect, error code and the steps to fix it, rather than just an error message. ## What is detected - A missing data processing agreement, without which Metrunio accepts nothing (PROCESSING_AGREEMENT_MISSING). - No website created, no events in the past 24 hours, or test events only. - Events without any consent information, and events rejected for lack of matching consent. - A high share of rejected events, and one finding per reason with its error code, for example for domains that are not allowed or plaintext personal data (DOMAIN_NOT_ALLOWED, PII_DETECTED). - No conversion defined, and conversions without a preceding contact. - Processing backlog in the queue. - Events whose processing failed in the last seven days (FAILED_JOBS). On the overview the diagnosis appears as a single line with the way here. A finding that prevents measurement, such as “no data in 24 hours”, stays there as a prominent box. The “Data status” page reads the same source: what appears here as failed processing is listed there under “Processing” as an open task. > **Note:** The rule in the product: every finding names cause, effect, error code and the steps to fix it. After reading a message you know what to do, and you find the matching help article in the same place. ## Also asked - Run diagnostics - What is the health check? - Check my setup ## Related - https://bench.metrunio.com/en/help/warum-keine-pageviews - https://bench.metrunio.com/en/help/error-codes - https://bench.metrunio.com/en/help/events-abgelehnt - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/verarbeitungsrueckstand --- --- slug: fehlercodes title: "What do the error codes mean?" category: datenqualitaet locale: en updated: 2026-10-17 keywords: ["error code","rejection","rejected","collector","error"] questions: ["The collector answers with a code. What does it mean?","SCHEMA_INVALID","PII_DETECTED","RATE_LIMITED","DOMAIN_NOT_ALLOWED","CONSENT_MISSING","QUOTA_EXCEEDED","PROCESSING_AGREEMENT_MISSING","REFUND_WITHOUT_PURCHASE","ORDER_ALREADY_COUNTED","ORDER_VALUE_FROM_SERVER","SERVER_KEY_INVALID","Look up an error code","Open the matching guide","What counts as a phone number?","PII_DETECTED although the event contains no phone number"] url: https://bench.metrunio.com/en/help/error-codes --- # What do the error codes mean? **The collector answers with a code. What does it mean?** Every rejection carries a code together with a title, explanation, data effect and resolution steps. This table lists all codes of the collector and of processing with their meaning. | Code | Meaning | What to do | | --- | --- | --- | | SCHEMA_INVALID | required field missing or format invalid | check the event against the schema; the response names the field | | EVENT_TOO_OLD | timestamp older than 30 days | send events promptly; backfill is limited | | EVENT_IN_FUTURE | timestamp more than 5 minutes ahead | check the clock of the sending system | | PII_DETECTED | plaintext email address or phone number; we only store which field was affected | remove the field or pseudonymise it first; the response and the finding name the field | | CONSENT_MISSING | no matching consent | pass the consent state correctly; the rejected event is not stored | | CONSENT_WITHDRAWN | consent was withdrawn for this browser; nothing stored | nothing; this is intended. If the person consents again, measurement continues | | SUBJECT_SUPPRESSED | an attribute is on the suppression list (objection or deletion); nothing stored | nothing; this is intended. If the person consents again, lift the suppression under “Privacy” | | DUPLICATE_EVENT | event ID already present | not an error; the repeat was detected | | WRITE_KEY_INVALID | key unknown or revoked | check the key in “Setup” | | SERVER_KEY_INVALID | server key unknown, revoked or expired; or a write key on the server route | create or regenerate a server key in “Setup”, “Server Events API” tab | | SITE_UNKNOWN | site ID does not belong to the key | check the site ID | | TOKEN_INVALID | token of a tracking element unknown, revoked or altered | generate the tracking element again and replace the code in the creative | | DOMAIN_NOT_ALLOWED | origin not allowed | add the domain in “Setup” | | SIGNATURE_INVALID | signature does not match the body | sign the raw body, not the reformatted one | | REPLAY_DETECTED | signature already used | sign afresh per request | | PAYLOAD_TOO_LARGE | request too large | reduce the batch, shorten metadata | | RATE_LIMITED | too many requests | throttle the send rate, batch events | | QUOTA_EXCEEDED | monthly event quota on the Start plan used up; further events are not stored until the month changes | move to a larger plan or contact support | | INDIVIDUAL_TARIFF_REQUIRED | more events this month than the highest public plan covers; without agreeing to the individual plan nothing more is stored | agree to the individual plan under “Plan & usage” | | TENANT_INACTIVE | the account is suspended, usually because of an open payment; nothing is accepted | pay the open invoice in the portal, otherwise contact support | | SITE_PAUSED | the website is paused because the plan covers fewer websites than are set up | move to a plan with more websites or ask support to swap the websites | | IMPRESSIONS_NOT_IN_PLAN | impression pixel or viewability tag on the free Start plan; impressions and viewability are only stored from Pro upwards | move to Pro or a higher plan, or remove the pixel and tag from your creatives | | PROCESSING_AGREEMENT_MISSING | no data processing agreement concluded; nothing is accepted | conclude the DPA in the portal under “Privacy” or in the Shopify app | | REFUND_WITHOUT_PURCHASE | refund accepted, but no purchase with the same order number, environment and currency for 24 hours, so not applied and deleted. A count per website and day under “Data status”, without order numbers, not a collector response | compare order number, environment and currency of purchase and refund; then send again with a new event_id | | ORDER_ALREADY_COUNTED | the same order number arrived as a purchase more than once on the same website; it is counted once, with the value of the first server report, or without one the first browser report. A processing finding under “Data status”, not a collector response | nothing if browser and server both report; otherwise check whether a retry gets a new event_id | | ORDER_VALUE_FROM_SERVER | the purchase came from the browser first, then from your server with a different value or currency; Metrunio took value and currency from the server, customer and contacts stay as the browser reported them. A processing finding under “Data status”, not a collector response | check whether the tracking script reports the same amount as the shop; if the browser value is far off, someone may have reported the order number in advance | Every code has its own page at /hilfe/fehlercodes/, with the code in lowercase, for example /hilfe/fehlercodes/domain_not_allowed. It names the cause, the effect, the steps to fix it, and the HTTP status the collector answers with. Every finding in the portal links straight there. For PII_DETECTED, a phone number is a digit sequence with a country code (+49 30 …) or with separators between the blocks (030-1234 5678). Plain digit sequences and identifiers in UUID format remain allowed: order numbers, product IDs, timestamps and UUIDs in a URL do not lead to a rejection. > **Note:** DUPLICATE_EVENT is not a problem but evidence that idempotency works: a repeated event is detected and not counted twice. ## Also asked - SCHEMA_INVALID - PII_DETECTED - RATE_LIMITED - DOMAIN_NOT_ALLOWED - CONSENT_MISSING - QUOTA_EXCEEDED - PROCESSING_AGREEMENT_MISSING - REFUND_WITHOUT_PURCHASE - ORDER_ALREADY_COUNTED - ORDER_VALUE_FROM_SERVER - SERVER_KEY_INVALID - Look up an error code - Open the matching guide - What counts as a phone number? - PII_DETECTED although the event contains no phone number ## Related - https://bench.metrunio.com/en/help/events-abgelehnt - https://bench.metrunio.com/en/help/erlaubte-domains - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/erstattungen --- --- slug: events-abgelehnt title: "Why are my events rejected?" category: datenqualitaet locale: en updated: 2026-10-12 keywords: ["rejected","discarded","error","batch"] questions: ["The collector does not accept events. How do I find the cause?","Rejected events","Events not arriving","Why is my event discarded?","Does Metrunio store rejected events?","What is kept in the error log?","Which field contains the email address?"] url: https://bench.metrunio.com/en/help/events-abgelehnt --- # Why are my events rejected? **The collector does not accept events. How do I find the cause?** The collector response states a status per event and, on failure, the reason. Check that response first; “Data status” in the portal additionally summarises the reasons over the period. ```json { "received": 3, "accepted": 1, "duplicates": 1, "rejected": 1, "blocked": 0, "results": [ { "eventId": "a", "status": "accepted" }, { "eventId": "b", "status": "duplicate" }, { "eventId": "c", "status": "rejected", "code": "SCHEMA_INVALID" } ] } ``` | Counter | Meaning | | --- | --- | | accepted | stored and queued for processing | | duplicates | the event ID was already known; not counted twice | | rejected | formally or substantively invalid; the code names the reason | | blocked | nothing stored because consent is missing or withdrawn, the person is on the suppression list, the quota is used up or there were too many requests; the code names the reason | > **Note:** One invalid event never discards the whole batch. Always check the individual results, not just the HTTP status. In the portal, rejections appear under “Data status → Data content”: as a count for the period (“Invalid format”) and as one finding per reason with its error code. They are something different from events that were accepted and only failed during processing. Those are listed under “Processing”. We do not store the content of a rejected event. We keep the reason, time, source, website, event type and the affected fields with the type and length of the value, but never the value itself. The finding in the portal names these fields, for example “page_url” or “metadata.contact”. What exactly you sent appears only in the collector’s response to your system. > **Note:** For PII_DETECTED this applies without exception: the email address or phone number that caused the rejection ends up neither in the raw data nor in the error log. If a key in metadata itself looks like an address, it shows as “[masked]”. ## Also asked - Rejected events - Events not arriving - Why is my event discarded? - Does Metrunio store rejected events? - What is kept in the error log? - Which field contains the email address? ## Related - https://bench.metrunio.com/en/help/error-codes - https://bench.metrunio.com/en/help/welche-events-gibt-es - https://bench.metrunio.com/en/help/was-wird-gespeichert - https://bench.metrunio.com/en/help/verarbeitungsrueckstand --- --- slug: verarbeitungsrueckstand title: "What does a processing backlog mean?" category: datenqualitaet locale: en updated: 2026-10-12 keywords: ["backlog","queue","processing","FAILED_JOBS"] questions: ["Events have arrived but journeys are not appearing. Why?","Queue backlog","Processing is stuck","Events present but no journeys","FAILED_JOBS","Events failed in processing","Some events could not be processed"] url: https://bench.metrunio.com/en/help/verarbeitungsrueckstand --- # What does a processing backlog mean? **Events have arrived but journeys are not appearing. Why?** A queue sits between reception and reporting. When it grows faster than it is worked off, a backlog forms: raw events are already there, journeys and conversions are not yet. If processing an event fails for good, the portal reports it as FAILED_JOBS for seven days; support can replay it. The state of the queue appears under “Data status” in the “Processing” section, together with the delay between receipt and processing; if the backlog grows large, the health centre reports the finding PROCESSING_BACKLOG. A short backlog after a spike is normal; a permanently growing one is an operational problem. - Short-lived: wait and check the view again later. - Persistent: contact support and include the finding from the health centre. - No events are lost in the meantime; they are processed once the queue catches up. ## When processing fails After several retries, processing gives up on an event. It is then missing from journeys and attribution until it is processed again. The portal reports such production events from the last seven days in three places with the same number: as a line on the overview, as the finding FAILED_JOBS in the health centre and as an open task under “Data status → Processing”. - Write to support and quote the error code FAILED_JOBS; the support summary from the health centre is the easiest way. - Support can replay the events affected once the cause is fixed. They then appear in journeys and attribution, and the notice disappears. - If no new failure occurs, the notice disappears on its own after seven days. > **Note:** What intake rejects for an invalid format does not count here. Such data was never stored and cannot be replayed; it is listed as a data content finding under “Data status” (see “Why are my events rejected?”). ## Also asked - Queue backlog - Processing is stuck - Events present but no journeys - FAILED_JOBS - Events failed in processing - Some events could not be processed ## Related - https://bench.metrunio.com/en/help/wie-lange-bis-daten - https://bench.metrunio.com/en/help/health-center - https://bench.metrunio.com/en/help/events-abgelehnt --- --- slug: adblocker title: "How do ad blockers affect measurement?" category: datenqualitaet locale: en updated: 2026-10-15 keywords: ["ad blocker","ITP","browser","data loss","blocked"] questions: ["Do I lose data to ad blockers and browser protections?","Ad blocker blocks tracking","ITP and cookies","Data loss in the browser"] url: https://bench.metrunio.com/en/help/adblocker --- # How do ad blockers affect measurement? **Do I lose data to ad blockers and browser protections?** Ad blockers and browser protections cost part of the browser signals, as with any client-side measurement. Metrunio does not circumvent these protections. Conversions can instead be reported server-side, where the browser plays no part. - Impressions and viewability measurement also run in the browser, inside the ad; a blocker can intercept them just the same. - Short-lived storage shortens the lifetime of the pseudonymous first-party ID. - Server-reported conversions are unaffected, but the linking then needs an identifier passed along. > **Caution:** We do not circumvent browser protections and use no fingerprinting. The gap is not filled by calculation. What the blocker intercepts never reaches Metrunio; the gap becomes visible where your shop reports orders from the server: an order without a measured touchpoint shows as “unattributed”. ## Also asked - Ad blocker blocks tracking - ITP and cookies - Data loss in the browser ## Related - https://bench.metrunio.com/en/help/server-events-api - https://bench.metrunio.com/en/help/messgrenzen - https://bench.metrunio.com/en/help/warum-plattformzahlen-abweichen --- --- slug: bots title: "Are bots filtered out?" category: datenqualitaet locale: en updated: 2026-10-15 keywords: ["bot","crawler","user agent","invalid traffic","IVT"] questions: ["Do automated requests distort my numbers?","Bot traffic","Exclude crawlers","Invalid traffic"] url: https://bench.metrunio.com/en/help/bots --- # Are bots filtered out? **Do automated requests distort my numbers?** Obvious bots are detected through a user-agent heuristic and excluded. That is not full bot management. What is detected are requests that identify themselves as bots: search engine crawlers, monitoring services, known tools. Anything presenting itself as an ordinary browser is not reliably detected. > **Note:** Metrunio shows no separate finding for conspicuous patterns, such as very many impressions with no viewability at all. Detected bots appear as a browser family of their own in the post-view coverage under “Channels & attribution”, and a conversion whose touchpoints all come from bots stays “unattributed” with that reason. ## Also asked - Bot traffic - Exclude crawlers - Invalid traffic ## Related - https://bench.metrunio.com/en/help/health-center - https://bench.metrunio.com/en/help/messgrenzen --- --- slug: was-wird-gespeichert title: "Which data is stored?" category: datenschutz locale: en updated: 2026-10-13 keywords: ["stored data","personal data","PII","data minimisation","GDPR","cookie","localStorage"] questions: ["What exactly does Metrunio hold about my website’s visitors?","Which personal data?","Do you store IP addresses?","What is in the database?","Do you store rejected events?","Which cookies does Metrunio set?","What is stored in localStorage?","What do I have to state about Metrunio in the cookie banner?"] url: https://bench.metrunio.com/en/help/was-wird-gespeichert --- # Which data is stored? **What exactly does Metrunio hold about my website’s visitors?** Pseudonymous identifiers, event data with timestamps, campaign and click identifiers, and conversion values. No raw IP addresses; event fields are not meant to hold plain-text names or contact details. Detected email addresses and phone numbers cause rejection; the automatic check does not detect every kind of personal data, though. | Category | Implementation | | --- | --- | | IP addresses | not stored, neither raw nor as a checksum; processed only in transit and for rate limiting | | User identifiers | user_id and user_id_hash are pseudonymised on receipt through a tenant-specific HMAC, including the SHA-256 of the email address from the Shopify app and the Shopware plugin | | Plaintext PII | email addresses and phone numbers cause rejection (PII_DETECTED); we only store which field was affected, never the value | | Metadata | at most 50 fields, 8 KB; HTML and executable content are rejected | | Answers to the post-purchase question | only with consent to analytics; a key from a fixed list with the order number, linked to the order and journey, so not an anonymous survey | | Fingerprinting | not implemented and not planned | | Linking across websites | no linking across tenant boundaries. Within your tenant, Metrunio links contacts across websites as far as the consents and your instruction cover it: for example an ad seen on another site with the later visit to your shop (post-view), or visits to several of your websites through the same customer number | ## In the browser | Name | Where | What for | Needs | | --- | --- | --- | --- | | metrunio_anonymous_id | localStorage | visitor identifier | consent to analytics | | metrunio_session | sessionStorage | the session, its origin and the lead ID of a form | consent to analytics | | metrunio_queue | localStorage | events that have not arrived yet | a decision in the banner | | metrunio_consent_pending | localStorage | a decision whose report has not arrived yet | a decision in the banner | | metrunio_view | cookie of the measurement address, 30 days | view identifier for post-view | consent to marketing | | metrunio_aid | cookie on your domain, 13 months (seven days in Safari), only through your own measurement domain | the same visitor identifier on all subdomains of your domain, even after the site’s storage was cleared | consent to analytics | Before a decision in the banner, the SDK reads and writes none of these. Withdrawing consent removes the identifier, session and queue, and the collector deletes the cookie whose consent has gone. Safari shortens metrunio_aid to seven days. Name the cookies and storage entries in your consent management and your privacy notice, with purpose and duration, before anyone decides. For metrunio_aid that includes its reach: it applies on all subdomains of your domain. The underlying principle is simple: what is not collected cannot be lost, passed on or misused. That is why the limits are drawn technically rather than merely promised contractually. > **Legal note:** Which legal basis applies to which signal and purpose is for you as the controller to decide and to document with your data protection adviser. ## Also asked - Which personal data? - Do you store IP addresses? - What is in the database? - Do you store rejected events? - Which cookies does Metrunio set? - What is stored in localStorage? - What do I have to state about Metrunio in the cookie banner? ## Related - https://bench.metrunio.com/en/help/keine-ip-adressen - https://bench.metrunio.com/en/help/welche-kennungen - https://bench.metrunio.com/en/help/aufbewahrung - https://bench.metrunio.com/en/help/eigene-messdomaene --- --- slug: keine-ip-adressen title: "Are IP addresses stored?" category: datenschutz locale: en updated: 2026-10-13 keywords: ["IP address","hash","HMAC","pseudonymisation","anonymous"] questions: ["How does Metrunio handle IP addresses and customer numbers?","IP anonymisation","Is the IP stored?","Pseudonymisation","Is the hashed email address stored?","Is an IP hash stored?"] url: https://bench.metrunio.com/en/help/keine-ip-adressen --- # Are IP addresses stored? **How does Metrunio handle IP addresses and customer numbers?** IP addresses are not stored, neither raw nor as a checksum. Metrunio processes them only in transit and to limit requests. Since 14 October 2026 Metrunio no longer forms the truncated checksum that used to sit on measurement events; existing values have been deleted. Customer numbers and email checksums you pass are likewise pseudonymised on receipt, per account. Why no checksum any more? No query, report or export read it. Whatever has no purpose is not stored, not even as a pseudonym. Rate limiting works with the address only at the moment the request arrives. The application logs do not contain the address either. The cloud platform’s logs outside the application are configured not to record it; details are in the privacy notice. > **Note:** Separate from this are the checksums without an account reference from sign-in, sessions and signing the agreement in the portal. They belong to your own Metrunio account, not to the measurement data of your visitors. ## Customer numbers and email checksums The Shopify app and the Shopware plugin send the SHA-256 of the lower-cased email address. That checksum is the same for the same address everywhere. Metrunio therefore does not store it as it arrives but first combines it with your account’s key. The same applies to a customer number from `identify()` and to any `user_id_hash` your server sends. The same shopper thus has two identifiers in two shops on Metrunio, and they have nothing to do with each other. ## Also asked - IP anonymisation - Is the IP stored? - Pseudonymisation - Is the hashed email address stored? - Is an IP hash stored? ## Related - https://bench.metrunio.com/en/help/was-wird-gespeichert - https://bench.metrunio.com/en/help/welche-kennungen --- --- slug: betroffenenrechte title: "How do I handle access, deletion and objection?" category: datenschutz locale: en updated: 2026-10-16 keywords: ["data subject rights","access","deletion","objection","GDPR","Article 15"] questions: ["A data subject exercises their rights. What do I do?","GDPR access request","Carry out a deletion request","Article 15 access","Article 21 objection","Deletion request from Shopify","customers/redact","Deadline for access requests from Shopify","Deletion by email checksum","Orders in a Shopify deletion request","orders_to_redact"] url: https://bench.metrunio.com/en/help/betroffenenrechte --- # How do I handle access, deletion and objection? **A data subject exercises their rights. What do I do?** Privacy requests are handled in the portal under “Privacy”, not by ticket. Every request is recorded and logged in the change log; the data subject is located through a pseudonymous identifier. ## How the person is found The search does not take names or addresses: event fields are not meant to hold them, and detected email addresses and phone numbers are rejected on receipt. Pseudonymous identifiers are accepted. | Identifier | Origin | | --- | --- | | id_… | public identifier of an identity | | jr_… | public identifier of a journey, found under “Customer Journeys” | | anonymous_id | first-party identifier of the browser | | customer number or user_id_hash | as your shop sends it, for example the SHA-256 of the email address from the Shopify app or the Shopware plugin | | order number or lead ID | from the shop or CRM system | A customer number is stored only after being combined with your account’s key. You still enter it the way your shop sent it: Metrunio does the combining itself during the search and finds both forms. ## Effect of each request type | Type | Effect | | --- | --- | | Access (Art. 15) | produces a JSON file with identities, links, journeys, touchpoints, conversions and raw events, plus the stored consent decisions, the recipients of reported conversions and any suppression in place; changes nothing | | Deletion (Art. 17) | deletes raw events, conversions and identities; attribution values already reported decrease retroactively | | Objection (Art. 21) | removes identifiers, addresses and referrer and deletes the links; journeys, values and timestamps remain without them for aggregated reporting. Revenue reconciliation orders for the given order number are deleted, because they serve no other purpose | | Rectification (Art. 16) | is not automated: a pseudonymous attribution can be wrong too, and it has to be corrected everywhere it could be rebuilt from. Write to privacy@metrunio.com with the request ID; the correction is made by hand following our documented procedure, including the recipients the data went to. Afterwards you close the request with “Close as done” and a record of what was done | | Restriction (Art. 18) | is not a request type of its own in the portal, and a deletion does not replace it. Write to privacy@metrunio.com with the request ID: following our documented procedure, the affected data is preserved under protection and blocked from reports, AI queries, exports and reports to advertising platforms. Affected recipients are included | > **Caution:** Before execution the identifier must be repeated for confirmation. A completed request cannot be run again. The Admin role is required (privacy.read and privacy.write). - After a deletion or objection the message states how many records were affected and how many identifiers are suppressed. If an inventory check was shown above, it is run again; if that fails, it is marked as out of date. - The access file is created from the data as it stands when you download it (generatedAt) and is not stored. If you download it after a later deletion, whatever was deleted is missing. - It contains at most 5,000 rows per table; exportTruncated says whether there was more. If it is true, the access file is not yet complete: request the supplementary complete export via privacy@metrunio.com, quoting the request ID, before you answer the access request and close it. > **Note:** The platform administration sees the request, its status and deadline, but not the data subject’s identifier. Handling stays with you. ## Requests from Shopify If your store is connected through the Metrunio app, deletion and access requests from your customers arrive via Shopify. Metrunio carries out a deletion itself on receipt, with the same routine as “Carry out” in the portal, and puts the identifier on the suppression list; the request then shows as completed. An access request stays open and carries the deadline Shopify sets: 30 days from receipt. Open requests with a deadline are shown at the top of the privacy area. A deletion from Shopify lists the customer’s order IDs alongside the email checksum. Metrunio deletes by those as well, so that revenue reconciliation orders stored under nothing but their order ID are covered, and suppresses the order IDs. If the email address is missing, the request shows the order IDs as its identifier in the portal. > **Legal note:** The 30-day deadline is Shopify’s expectation. The one-month deadline under Art. 12(3) GDPR applies independently and can end sooner if the customer contacted you first. ## Also asked - GDPR access request - Carry out a deletion request - Article 15 access - Article 21 objection - Deletion request from Shopify - customers/redact - Deadline for access requests from Shopify - Deletion by email checksum - Orders in a Shopify deletion request - orders_to_redact ## Related - https://bench.metrunio.com/en/help/sperrliste - https://bench.metrunio.com/en/help/aufbewahrung - https://bench.metrunio.com/en/help/journey-explorer - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/zusatzweisung-umsatzabstimmung --- --- slug: sperrliste title: "Does a deletion take lasting effect?" category: datenschutz locale: en updated: 2026-10-15 keywords: ["suppression list","permanent","deletion","blocked","identifier type","bulk lift"] questions: ["Does a deleted person’s data come back on their next visit?","Suppression list","Permanent opt-out","Does deleted data come back?","What happens to a deletion when a backup is restored?","Why are there four entries in the suppression list?","How do I lift every suppression for one person?"] url: https://bench.metrunio.com/en/help/sperrliste --- # Does a deletion take lasting effect? **Does a deleted person’s data come back on their next visit?** It lasts: a deleted person’s data does not come back on their next visit. Deletion and objection put the identifiers concerned on a suppression list; only a hash of them is stored, which is still pseudonymous personal data and is read for nothing but enforcing the suppression. The collector rejects events from suppressed persons before anything is stored. - What goes on the suppression list are the identifiers, not the person. - Only a hash is stored. The list itself contains no readable identifiers. - Rejected events appear in the collector response as blocked. - A suppression can be lifted with a stated reason; that too is in the change log. ## Why one deletion creates several rows A person is known through several identifiers: pseudonymous browser ID, session, order number, pseudonymised customer ID. Each is suppressed in its own right, because each can come back on its own. That is why one deletion produces as many rows as the person had identifiers. - The “Identifier” column names the kind of identifier, never its value and never its checksum. - The “Reference” column carries a serial number so a row can be named. - The “Request” column points to the case the suppression came from. - Where one request holds several active suppressions, a bulk action lifts them together, with one reason for all of them and one log entry per row. ## And if a backup is restored? Backups are not searched to remove individual records from them. That would be more error-prone than the problem it solves. Restoring a backup therefore brings deleted data back at first, and the suppression list is back at the state of the backup: it lives in the same database. The way back is a journal outside the database, to which every deletion and objection is also written. Before the restored database takes in data again, the journal puts back the suppressions from the time in between, and a run checks the suppression list against the existing records and deletes again what is suppressed. The same run repeats regularly during operation; normally it finds nothing, which is exactly when it is right. > **Note:** The limit remains: if the same person visits later with a new pseudonymous identifier, after clearing browser storage for instance, a new, unlinked identity is created. What is suppressed are the known identifiers, not the human being. ## Also asked - Suppression list - Permanent opt-out - Does deleted data come back? - What happens to a deletion when a backup is restored? - Why are there four entries in the suppression list? - How do I lift every suppression for one person? ## Related - https://bench.metrunio.com/en/help/betroffenenrechte - https://bench.metrunio.com/en/help/consent-widerruf - https://bench.metrunio.com/en/help/events-abgelehnt - https://bench.metrunio.com/en/help/aufbewahrung --- --- slug: aufbewahrung title: "How long is data retained?" category: datenschutz locale: en updated: 2026-10-13 keywords: ["retention","period","deletion","180 days"] questions: ["Which retention periods apply and can I change them?","Deletion periods","Retention","How long is raw data kept?","What happens to old data when I move to a smaller plan?","Why are old impressions missing from the raw data?","Why are old impressions temporarily missing from a report?","Does my changed retention period still apply after a backup is restored?","How long are backups kept?","How long are webhook deliveries kept?"] url: https://bench.metrunio.com/en/help/aufbewahrung --- # How long is data retained? **Which retention periods apply and can I change them?** Raw events are retained for 180 days by default, 90 days on the free Start plan; the period is configurable per tenant up to the plan’s limit and enforced automatically. Journeys, touchpoints and conversions share the period of the raw events they were derived from and are deleted with them, or earlier if a deletion is requested. If a change of plan lowers the limit below the configured period, we announce the reduction 30 days in advance. | Data | Default | Control | | --- | --- | --- | | Raw events | 180 days, 90 on Start | configurable per tenant up to the plan’s limit, enforced by the worker | | Queue entries (done) | 24 hours | automatic cleanup | | Sessions and tokens | until expiry | automatic cleanup | | Raw events of delivered ads (impression, viewability) | at most 180 days | with a longer period, removed from the measurement database afterwards; reports keep counting them from the analytics mirror until the period ends. The mirror carries no direct identifiers but can be linked back through record keys and is therefore not anonymous | | Journeys, touchpoints, conversions | same as raw events | deleted by the worker with the raw-event period; earlier on a privacy request | | Reach measured without consent | same as raw events | deleted by the worker; listed individually only from five views per source | | Change log, including sign-ins | 180 days per entry | deleted by the worker; at the latest with the account | | Answers to the post-purchase question | same as raw events | attached to the raw event and deleted with it | | Matching data for attribution via the checkout | at most 24 hours | no longer used after that and deleted in regular operation, even without attribution; in backups until they expire | | Webhook deliveries | content at most 24 hours, log 30 days | content goes once delivered or abandoned | | Database backups | at most the last 14 daily ones, around two weeks | expire; not searched for individual records | | Residual copies held by the cloud provider | at most 180 days after deletion | under the provider’s contract; we restore nothing from them | ## After moving to a smaller plan If the new plan does not cover the configured period (for example 180 days after the trial ends on Start with 90), we do not shorten it right away. The admins receive an email with the day of the reduction, 30 days in advance, and the same appears under “Plan & usage”. Until then everything stays; after that we delete what is older than the new period. Choosing a plan with longer retention beforehand keeps everything. Delivered ads are the exception in the other direction. After 180 days their raw rows no longer contribute anything: a viewable impression can reach an order or lead at most 30 days after delivery, and journeys and models read the contact, not the raw row. If you retain data for longer, we therefore remove those raw rows from the measurement database after 180 days. The contact stays in every journey, and your reports then come from the analytics mirror, which keeps the deliveries until your period ends. It can lag up to six minutes behind the measurement. If the analytics mirror ever falls more than 15 minutes behind, your reports are calculated from the measurement database until it catches up. During that time, deliveries older than 180 days are missing there. Reports covering the last 180 days stay correct throughout. The period also covers the analytics mirror: whatever expires in the database is carried over there. Backups expire on their own cycle and are not searched to remove individual records. Residual copies held by the cloud provider are a separate matter: it removes what we have deleted under its contract at the latest after 180 days; we cannot restore anything from them. If a backup is restored, a run checks the restored data against the suppression list and deletes again what is suppressed. If you changed your retention period after the backup was taken, your change still applies: every change is also written to a journal outside the database, and we set the period from it again before the first deletion run. You don’t need to set it again. > **Legal note:** Which period suits your purpose is for you as the controller to decide. A shorter period reduces the amount of data but also limits how far back you can report. ## Also asked - Deletion periods - Retention - How long is raw data kept? - What happens to old data when I move to a smaller plan? - Why are old impressions missing from the raw data? - Why are old impressions temporarily missing from a report? - Does my changed retention period still apply after a backup is restored? - How long are backups kept? - How long are webhook deliveries kept? ## Related - https://bench.metrunio.com/en/help/was-wird-gespeichert - https://bench.metrunio.com/en/help/betroffenenrechte - https://bench.metrunio.com/en/help/audit-log - https://bench.metrunio.com/en/help/tarife --- --- slug: auftragsverarbeitung title: "Where is the data processed?" category: datenschutz locale: en updated: 2026-10-13 keywords: ["DPA","data processing agreement","location","Europe","Frankfurt","europe-west3"] questions: ["Is there a data processing agreement, and where are the servers?","DPA","Where are the servers?","Data processing in Europe","Sub-processors","Is there a transfer to the USA?","Sub-processor with a US parent","Third-country transfer"] url: https://bench.metrunio.com/en/help/auftragsverarbeitung --- # Where is the data processed? **Is there a data processing agreement, and where are the servers?** Application, database and analytics storage are planned for the europe-west3 region (Frankfurt); what goes beyond that, such as logs and support access at the cloud provider, is listed in the sub-processor list under “Documents”. You conclude the data processing agreement with us in the portal under “Privacy” or in the Shopify app; nothing is measured before that. We have our own agreements with our sub-processors. | Topic | Status | | --- | --- | | Application region | europe-west3 (Frankfurt), planned | | Analytics storage location | europe-west3 (Frankfurt), planned | | Sub-processors with a US parent | disclosed under Documents, with the legal basis per entry | | Language model region for the chat | shown in the portal; europe-west3 (Frankfurt) by default | | Data processing agreement with you | concluded in the portal under “Privacy” | The main resources are in Frankfurt. That does not mean all processing stays in the EU: the cloud provider keeps some logs globally, group and support access from outside the EEA is possible, and not every sub-processor has its parent company in the EU. Who that is, and on what legal basis they act, is set out in the sub-processor list under “Documents”, entry by entry rather than as an assurance in one sentence. > **Legal note:** The contracts with the sub-processors are concluded; who they are is listed in the annex under “Documents”. A data protection impact assessment for the measurement on your website, for post-view in particular, is your responsibility as the controller; we support you in it as the data processing agreement provides. ## Also asked - DPA - Where are the servers? - Data processing in Europe - Sub-processors - Is there a transfer to the USA? - Sub-processor with a US parent - Third-country transfer ## Related - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/aufbewahrung - https://bench.metrunio.com/en/help/sicherheit-architektur - https://bench.metrunio.com/en/help/rechtsgrundlage --- --- slug: avv-abschliessen title: "How do I conclude the data processing agreement?" category: datenschutz locale: en updated: 2026-10-17 keywords: ["DPA","data processing agreement","conclude","measurement paused","no data","PROCESSING_AGREEMENT_MISSING","record","PDF","Art. 28"] questions: ["How do I conclude the DPA with Metrunio, and why is nothing measured before?","Can I conclude the DPA without a commercial register entry?","Additional instructions in the agreement step","Give the AI tools instruction with the agreement","Why is no data arriving?","Measurement paused: DPA missing","PROCESSING_AGREEMENT_MISSING","Why is Metrunio not measuring anything?","Do I have to conclude the DPA before installing?","Is anything measured without a DPA?","Conclude the DPA in the Shopify app","Sign the DPA","Where do I sign the data processing agreement?","Does the DPA need to be signed?","DPA as PDF","Proof of data processing agreement","Who may conclude the DPA?","New version of the DPA","Is a click-through DPA valid?","What remains of the DPA after cancellation?","How long is the record kept?","Do I get a confirmation of the DPA?","DPA confirmation email","Confirmation email for the terms and the DPA","Where do I find the agreed version of the terms?"] url: https://bench.metrunio.com/en/help/avv-abschliessen --- # How do I conclude the data processing agreement? **How do I conclude the DPA with Metrunio, and why is nothing measured before?** For every account, measurement starts only once the data processing agreement (DPA) is concluded; until then Metrunio accepts nothing and stores nothing. You conclude it in the portal under “Privacy” or in the setup step “Conclude the DPA”, and for a Shopify store also right in the app: enter the company, its address and the person concluding it, confirm they are authorised, done. Data arrives a few seconds later, without any change to your installation. ## No DPA, no measurement Metrunio processes personal data of your visitors on your behalf. That requires a data processing agreement. As long as none is concluded for your account, Metrunio accepts nothing. That applies to every account, whether registered in the portal or created from the Shopify app, in every environment and during the trial as well. There is no switch for this. - Page views and events, consent reports, orders and refunds, the order import, conversion webhooks, ad contacts, the offline import and the test event are rejected, with the code PROCESSING_AGREEMENT_MISSING and HTTP status 403. - The impression pixel only returns its image; a click on a tracking link redirects without being measured. - None of it is stored: no pseudonymous identifiers, no hashed email addresses, no consent states. Anything already on its way into processing is discarded and deleted. - Ad costs can still be sent. They contain no personal data. - You can set up your account, website, keys, installation, consent setting and connections beforehand: in the step “Conclude the DPA” with “Prepare website and installation”, or under “Setup” with “Add a website”. The installation can only be checked afterwards. The test event is rejected until then as well. The portal then shows “Measurement paused: DPA missing.” on every page, with the link “Conclude the DPA”. The setup assistant has “Conclude the DPA” as its second step, right after “Confirm your company”; the step cannot be ticked off, only completed. Below it, “Prepare website and installation” leads through the steps that need no data; a red notice stays in place, and at the end the wizard says that only the DPA is missing. Instead of “no data”, the live test and the health centre report the reason: the finding PROCESSING_AGREEMENT_MISSING. > **Caution:** Anything sent before the agreement is concluded is lost for good: Metrunio does not hold it back to deliver later. For Shopify, the order import can bring in older orders after the conclusion; visits and ad contacts from before do not exist. ## Concluding it in the portal 1. Open “Privacy” in the portal, or the step “Conclude the DPA” in the setup assistant. The top of the page shows whether the agreement is concluded. 2. Read the agreement and its annexes: the TOMs, the sub-processor list and the deletion policy belong to it. 3. Enter the legal name as it appears in the commercial register or your business registration, with the legal form if there is one, and the address. The DPA does not require a register entry: as a sole trader, your first and last name is enough, with a trading name if you like. The account name is prefilled; it is often a brand name rather than the legal name. 4. Enter the name and position of the person concluding it, and choose the language of the agreement (German or English). 5. Confirm that you have read the agreement and may act for the company, then conclude it. The conclusion takes effect within a few seconds, ten at the most; you change nothing in your installation. Art. 28(9) GDPR allows the electronic form; no signature on paper is needed. You then receive a confirmation by email at the address you are signed in with: your declarations and links to the data processing agreement and its annexes, each in the agreed version. If you registered the account yourself, the first conclusion also covers the terms and the privacy notice you accepted when signing up, with the day you accepted them and the version of that day. The email comes in German or English, depending on the language of your account; for Spanish and French in English. If you later conclude a new version, the email confirms only the DPA. ## Additional instructions in the same step Below the agreement there are optional additional instructions, each with its own checkbox and the full wording to expand. Nothing is preselected, and the agreement applies without them. You can give them later or revoke them under “Privacy → Additional instructions”. - Transfer to AI tools: transfer this account’s data to tools and programs that you connect yourselves later, through the approval page or with a read key. You then confirm each connection individually; the instruction does not apply to other purposes or recipients. - Revenue reconciliation after a refusal too: listed with its requirements, but without a checkbox, because it needs your customer-specific details. You give it with the completed template. - Order matching via the checkout: not available as long as it has not been released. There is no instruction in advance for it. For each checkbox we store the wording as it was shown, with version and language, along with the account, the person and the time. A new version only counts as given once someone gives it. A revocation ends the instruction; the record is kept for three years after it ends. > **Legal note:** An additional instruction is your instruction as the controller under Art. 28 GDPR. It is not consent from your visitors and does not replace it. ## Concluding it in the Shopify app When the Shopify app creates your account, you conclude the DPA in the same step: with a tick box of its own next to the one for the terms, after confirming the company, its address and the name and position of the person concluding it; the app suggests company and address from your store’s billing address. If your store was connected through the portal and the DPA is still missing, you conclude it in the app without switching to the portal. The app shows whether it is concluded, and you receive a confirmation by email with links to the agreed versions. ## What is stored | Item | Why | | --- | --- | | Version and language | So that it is clear which text was agreed | | The full text including annexes | The product only ever holds the current version; the record shows the agreed one | | Company, address, name and position | As entered at the time of conclusion | | Our company name at that time | Both parties to the agreement, not just one | | Account, time, keyed hash of the IP address | Who concluded it and when | | From the Shopify app: the store, Shopify user ID, name and email address of the acting person, and whether Shopify identifies them as the store owner | Who acted in Shopify, not necessarily the store owner | A conclusion is never changed. When there is a new version, the portal says so and you conclude it again; the previous one stays in force until then. Earlier conclusions remain listed under “All conclusions”. You can view the record with the agreed text and save it as a PDF at any time. Every version also stays on the website permanently under its date, for example /en/documents/avv/2026-09-24. The page keeps exactly this text, even after a later change. The confirmation email and the record in the portal link there. ## After the contract ends When your contract ends, we delete your account after 30 days, and the stored conclusion with it. Before that we keep a brief record: company, address, versions, times, who concluded it (name, email address, role or Shopify ID), the declaration of authority, origin and shop. The confirmation email is included, exactly as we sent it. Not included are the contract text (it stays on the website under its date anyway), the IP address checksum and account data. The record is kept for six years from the end of the calendar year in which you concluded the contract, but at least until the end of the third calendar year after the contract ends, and is then deleted automatically. If we need it for pending or specifically threatened litigation, it stays until that is over. > **Legal note:** The six years follow from § 257 of the German Commercial Code (HGB): we treat the acceptance, the conclusion and the confirmation, to be on the safe side, as business letters we are required to keep (Art. 6(1)(c) GDPR). If the contract runs longer, the evidence period of our deletion policy applies beyond that, until the end of the third calendar year after the contract ends, based on our legitimate interest in being able to prove the conclusion of the contract (point (f)). ## Who may conclude it In the portal, anyone with administration rights in the account; in the Shopify app, the person signed in there who is using the app. Metrunio staff cannot, not even through support access: an agreement the processor concludes with itself on the controller’s behalf would not be one. Whoever concludes it for a company must be entitled to represent it. The software cannot check that, hence the confirmation. ## If you use your own agreement Some companies only conclude data processing agreements on their own paper. That works but takes longer: write to privacy@metrunio.com. Concluding it in the portal is the faster route, not the only one. > **Note:** A conclusion in an earlier version remains valid, and measurement continues. If there is a newer version, the portal shows it to you and offers it for conclusion. ## Also asked - Can I conclude the DPA without a commercial register entry? - Additional instructions in the agreement step - Give the AI tools instruction with the agreement - Why is no data arriving? - Measurement paused: DPA missing - PROCESSING_AGREEMENT_MISSING - Why is Metrunio not measuring anything? - Do I have to conclude the DPA before installing? - Is anything measured without a DPA? - Conclude the DPA in the Shopify app - Sign the DPA - Where do I sign the data processing agreement? - Does the DPA need to be signed? - DPA as PDF - Proof of data processing agreement - Who may conclude the DPA? - New version of the DPA - Is a click-through DPA valid? - What remains of the DPA after cancellation? - How long is the record kept? - Do I get a confirmation of the DPA? - DPA confirmation email - Confirmation email for the terms and the DPA - Where do I find the agreed version of the terms? ## Related - https://bench.metrunio.com/en/help/auftragsverarbeitung - https://bench.metrunio.com/en/help/rechtsdokumente - https://bench.metrunio.com/en/help/einrichtung-ueberblick - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/health-center - https://bench.metrunio.com/en/help/error-codes --- --- slug: zusatzweisung-umsatzabstimmung title: "Additional instruction for revenue reconciliation" category: datenschutz locale: en updated: 2026-10-16 keywords: ["additional instruction","revenue reconciliation","refusal","denied","objection","order number","suppression list"] questions: ["When do orders count after a refusal in the cookie banner?","Revoke the revenue reconciliation instruction","Why are orders missing after a refusal?","How do I activate the additional instruction?","CONSENT_MISSING for an order with denied","What is revenue reconciliation?","Is a refusal in the banner an objection?","A buyer objects to revenue reconciliation. What do I do?","Delete and block an order number","Shopware plugin: orders missing after a refusal","Are orders without consent anonymous?"] url: https://bench.metrunio.com/en/help/zusatzweisung-umsatzabstimmung --- # Additional instruction for revenue reconciliation **When do orders count after a refusal in the cookie banner?** Orders your shop reports server-side after a refusal in the banner only count if the additional instruction for revenue reconciliation is activated for your account. You fill it in and sign it, and then we activate it; without it Metrunio rejects such orders. Orders with no decision in the banner at all count even without the instruction. Revenue reconciliation is a purpose of its own, separate from tracking: purchases and refunds your server reports without consent count towards measured revenue, so that your totals match your shop and a refund finds its purchase. Metrunio stores the order number, the type of transaction (order, subscription renewal or refund), amount, currency and the day of the order. Browser, customer and advertising identifiers, the subscription ID, line items, page and campaign are removed before storing. That does not make the data anonymous: your shop can link the order number to a person, and the order number stays as the necessary order key. ## What the instruction changes | Case | Without the instruction | With the instruction activated | | --- | --- | --- | | Server order without a decision in the banner (unknown) | counts for revenue reconciliation | counts for revenue reconciliation | | Server order after a refusal (denied, or partial without analytics) | rejected (CONSENT_MISSING), nothing stored; notice in the setup check | counts for revenue reconciliation, not attributed | | Purchase from the file import with consent_state denied | rejected on import, with the reason | counts for revenue reconciliation | | Order from the browser after a refusal | rejected | rejected | A refusal is not turned into consent: the order is never linked to a visit, never attributed to a channel and never reported to an advertising platform. Activating the instruction does not bring back orders that were rejected earlier. ## How to activate it 1. Request the template of the additional instruction from support@metrunio.com. 2. Fill in the mandatory details: sources, order key, retention period, legal basis and how buyers can object. Record your balancing of interests, including for the case of a refusal. 3. Add to your privacy policy. A text block is in the article “Privacy policy text block: revenue reconciliation”. 4. Send the instruction back signed. We activate it and tell you the version and the time; your account’s change log shows “Additional instruction for revenue reconciliation activated”. 5. From that moment on, orders after a refusal count. If you want to end this, revoke the instruction in the portal under “Privacy → Additional instructions”: Metrunio then rejects such orders again within ten seconds at the latest. In the step “Conclude the data processing agreement”, this additional instruction is listed with what it needs, but without a checkbox: a checkbox alone does not replace the details on sources, order key, retention period, legal basis, balancing of interests and how to object. It still only becomes active once we have the completed template. > **Note:** The additional instruction extends revenue reconciliation to orders after a refusal and requires it. If you switch revenue reconciliation off in the portal under Privacy, the instruction is paused as well until you switch it back on. ## Refusal, withdrawal and objection - Refusal in the banner: it concerns tracking and is not an objection to revenue reconciliation. With the instruction activated, the order counts, without any link to the visit. - Withdrawal of consent: Metrunio deletes what rested on the consent, including an order your shop reported with this browser’s identifier. It is not moved into revenue reconciliation. Orders reported without consent stay. - Objection to revenue reconciliation: if a buyer contacts you, create a request of type “Objection” under “Privacy” with the order number as the identifier and execute it. Metrunio deletes the order including its refunds and puts the order number on the suppression list. Intake then rejects new reports of this order (SUBJECT_SUPPRESSED), including from the import. > **Legal note:** Whether revenue reconciliation after an explicit refusal of tracking can rest on your legitimate interest is for your own balancing of interests to decide. The instruction does not create a legal basis towards your buyers. The balancing of interests, the information in your privacy policy and the way to object are your responsibility as controller; settle them with your privacy counsel. ## Also asked - Revoke the revenue reconciliation instruction - Why are orders missing after a refusal? - How do I activate the additional instruction? - CONSENT_MISSING for an order with denied - What is revenue reconciliation? - Is a refusal in the banner an objection? - A buyer objects to revenue reconciliation. What do I do? - Delete and block an order number - Shopware plugin: orders missing after a refusal - Are orders without consent anonymous? ## Related - https://bench.metrunio.com/en/help/datenschutzerklaerung-umsatzabstimmung - https://bench.metrunio.com/en/help/consent-serverseitig - https://bench.metrunio.com/en/help/consent-widerruf - https://bench.metrunio.com/en/help/betroffenenrechte - https://bench.metrunio.com/en/help/sperrliste - https://bench.metrunio.com/en/help/auftragsverarbeitung --- --- slug: datenschutzerklaerung-umsatzabstimmung title: "Privacy policy text block: revenue reconciliation" category: datenschutz locale: en updated: 2026-10-16 keywords: ["privacy policy","text block","revenue reconciliation","Art. 6(1)(f)","objection","information duty"] questions: ["What does my privacy policy need to say about revenue reconciliation?","Shop privacy policy: orders without consent","Do I have to mention revenue reconciliation in my privacy policy?","Metrunio privacy policy text block","How can buyers object to revenue reconciliation?","Legal basis for orders without consent"] url: https://bench.metrunio.com/en/help/datenschutzerklaerung-umsatzabstimmung --- # Privacy policy text block: revenue reconciliation **What does my privacy policy need to say about revenue reconciliation?** Your privacy policy must name revenue reconciliation as a purpose of its own alongside tracking, with the legal basis (legitimate interest under Art. 6(1)(f) GDPR), the data, Metrunio as processor, the retention period and how to object. Metrunio’s privacy policy does not inform your buyers. The block below is a draft for you to adapt. Your buyers read your privacy policy, not Metrunio’s. If you use revenue reconciliation, it therefore belongs in your own: separate from tracking, so that nobody takes a refusal in the banner for the end of all processing. Fill in the details in square brackets; they must match your additional instruction. The German version addresses buyers formally, as is usual in privacy policies. ## The text block Revenue reconciliation. We reconcile our shop’s revenue with the measurement service Metrunio so that our revenue figures are complete, duplicate transactions are detected and refunds are matched to the right order. This purpose is separate from tracking and advertising measurement. It concerns orders for which you made no decision about tracking [or refused tracking]. Your decision in the cookie banner still applies: without your consent, your order is not linked to your visit, your browser or an advertisement and is not passed on to advertising platforms. Data processed: order number [or an order key derived from it], type of transaction (order, subscription renewal or refund), amount and currency, and the day of the order without the time. Name, address, email address, customer number, the subscription ID, ordered items, identifiers of your browser or device, IP address and click or advertising identifiers are not processed for this purpose. The data remains personal data, because we can link the order number to your order. The legal basis is Art. 6(1)(f) GDPR. Our legitimate interest is to record our revenue completely and in a way that can be reconciled with our shop, to detect duplicate transactions and to match refunds. Metrunio, a service of Kokolorum GmbH, Industriering Ost 66, 47906 Kempen, Germany, processes the data on our behalf under Art. 28 GDPR [with the sub-processors named in the data processing agreement]. The individual records are deleted [N] days after the day of the order. Objection: you may object to this processing at any time on grounds relating to your particular situation (Art. 21(1) GDPR). To do so, write to [contact] stating your order number. We will then delete the data for this order at Metrunio and block the order number for further transmissions. Withdrawing your consent to tracking ends tracking; it does not affect an order we transmitted without your consent solely for revenue reconciliation. That is what the objection is for. ## What you adapt - The bracketed part about refusals only if the additional instruction is activated for your account. Without it, only orders without a decision count. - Order key, retention period and sub-processors as stated in your additional instruction and your data processing agreement. - The contact for objections. How to carry one out is explained in the article “Additional instruction for revenue reconciliation”. > **Legal note:** The text block does not replace a review of your privacy policy or your own balancing of interests. Whether the legitimate interest supports the processing after an explicit refusal of tracking in your shop is for that balancing to decide. ## Also asked - Shop privacy policy: orders without consent - Do I have to mention revenue reconciliation in my privacy policy? - Metrunio privacy policy text block - How can buyers object to revenue reconciliation? - Legal basis for orders without consent ## Related - https://bench.metrunio.com/en/help/zusatzweisung-umsatzabstimmung - https://bench.metrunio.com/en/help/consent-serverseitig - https://bench.metrunio.com/en/help/rechtsgrundlage --- --- slug: bestellzuordnung-checkout title: "Attributing orders via the checkout" category: datenschutz locale: en updated: 2026-10-15 keywords: ["pixel bridge","checkout","checkout_ref","consent","Buy it now","order attribution"] questions: ["How does Metrunio attribute orders without a consent decision?","Switch on the pixel bridge","Attribute an order without consent","Buy it now is not attributed","Attribute a webhook order without consent","What is checkout_ref?","Why is an order unattributed despite consent?","Enable order attribution via the checkout"] url: https://bench.metrunio.com/en/help/bestellzuordnung-checkout --- # Attributing orders via the checkout **How does Metrunio attribute orders without a consent decision?** Not at all, as long as you have not switched on order attribution via the checkout. With it, we attribute such an order to the visit when the same checkout was completed in the browser with consent and that consent already existed at the time of purchase. If your shop reports an order without a consent decision, for example “Buy it now” without a cart, Metrunio counts it for revenue reconciliation and attributes it to no channel. If the same person consented in the same checkout, attribution is permitted. Order attribution via the checkout makes that connection, and only when it is proven. ## What you need - The Shopify app: the pixel reports the checkout identifier on completion, and the webhook reports the same identifier with the order. - The Shopware plugin from version 1.1.0: the finish page and the purchase from the server carry the same identifier. - Your own integration: the same identifier as checkoutRef on the conversion in the SDK and as checkout_ref on the purchase in the server API. - Consent texts that mention linking orders and revenue to visits and advertising contacts (sample text below). If yours do not say that yet, adapt them and collect consent again, for example by raising the version of your banner. A note in the privacy policy does not extend consent already given. ## Switching it on 1. In the portal, open “Privacy” in the “More administration” group. The card is called “Order attribution via checkout”. Only the Admin role may do this. If the card is missing, order attribution via checkout is not yet available for your account. 2. For each website, enter the identifier of the version of your consent texts, such as a date, confirm that they mention the attribution, and save. 3. Tick the box at the bottom and enable order attribution. Both are recorded in the log. ## When an order is attributed - The order came from the server without a decision, not after a refusal and not from the historical import. - Website, environment, order number and checkout identifier match the event from the browser, and exactly one browser carries them. - The browser event arrives within 24 hours of the order and carries consent to analytics and marketing. - The consent existed at the latest at the time of purchase, has not been narrowed since and carries an identifier of your texts that you had confirmed. An identifier confirmed later does not apply retroactively. Metrunio never stores the checkout identifier in plain text, only as a hash with a secret key, and for no more than 24 hours: next to the order from the time of the order, on the browser event from the time it arrives. If the attribution succeeds, Metrunio deletes the matching record immediately, otherwise in the next maintenance run. Backups expire on their own schedules; even after a restore, expired matching data is not used again. The rest of the event is kept as long as your other raw data. If any of this is missing, only this order stays unattributed and still counts towards revenue. The order of arrival does not matter: whether the browser event or the order comes first, it is attributed exactly once. If the person withdraws or narrows their consent, Metrunio deletes the attributed order and blocks the order number. Once the order is attributed, its time is the moment the browser completed the checkout. The attribution model then distributes it across the visits and ad contacts before it, including those on the same day. Without attribution, Metrunio knows only the day of such an order. ## Sample text for your cookie banner For the description of the statistics and marketing category; adapt it to your tone: “We use Metrunio to measure which visits and advertising contacts lead to orders. To do so, we link your order and its value to the visits and advertising contacts that preceded it, even if our shop system reports the order.” ## Text block for your privacy policy Attribution of orders. If you have consented to performance measurement (statistics and marketing), we and our processor Metrunio (Kokolorum GmbH) link your order and its value to the visits and advertising contacts that preceded it. This also applies if our shop system reports the order. The legal basis is your consent (Art. 6(1)(a) GDPR, Section 25(1) TDDDG). You can withdraw it at any time via [cookie settings]; the attribution is then deleted. ## Second text block: the temporary matching record For every order without a decision, Metrunio first creates a matching record, even if no matching browser event arrives later. You need a legal basis of your own for this, as a rule your legitimate interest based on your own balancing, and a notice in your privacy policy. Use the following text only if your balancing came out in favour, and insert your contact route: “For orders for which our shop system transmits no tracking decision, we temporarily keep the order reference, a checksum of the checkout identifier formed with a secret key and the exact time of the order for matching purposes. This also happens if no matching browser event arrives later. The basis is our legitimate interest, established after balancing (Art. 6(1)(f) GDPR), in correctly attributing orders for which valid consent already existed at the time of purchase even when the reports arrive at different times. Orders are attributed to visits or advertising contacts only where consent is demonstrated that existed at the latest at the time of purchase; after a transmitted refusal no such record is created. The matching data is used for no more than 24 hours and then deleted in regular operation; backups expire on their own schedules. You may object to this processing on grounds relating to your particular situation via [contact route].” > **Legal note:** The basis of the attribution is your customers’ consent; whether it covers the attribution depends on what your consent texts say. You are responsible for obtaining it and for its content. ## Also asked - Switch on the pixel bridge - Attribute an order without consent - Buy it now is not attributed - Attribute a webhook order without consent - What is checkout_ref? - Why is an order unattributed despite consent? - Enable order attribution via the checkout ## Related - https://bench.metrunio.com/en/help/consent-serverseitig - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/datenschutzerklaerung-umsatzabstimmung - https://bench.metrunio.com/en/help/consent-widerruf - https://bench.metrunio.com/en/help/conversion-nicht-zugeordnet --- --- slug: sicherheit-architektur title: "What security properties does Metrunio have?" category: datenschutz locale: en updated: 2026-10-13 keywords: ["security","RLS","tenant separation","signature","redirect"] questions: ["How is separation between customers enforced?","Security","Tenant separation","Row-level security","How secure is it?"] url: https://bench.metrunio.com/en/help/sicherheit-architektur --- # What security properties does Metrunio have? **How is separation between customers enforced?** Tenant separation is enforced in the database as well (row-level security), not only in application code. Tracking elements are signed, there is no open redirect, and signed requests are protected against replay. - Consent state and purpose are stored and evaluated per event. - Without matching consent no marketing event is stored, not even raw. - No fingerprints, no circumvention of browser protections. - No raw IP addresses; detected email addresses and phone numbers in measurement data are rejected, though the check does not detect every kind of personal data. - User identifiers are pseudonymised per tenant. - Tenant separation additionally through row-level security in the database. - Signed tracking elements, no open redirect, replay protection. - API keys are stored hashed only; a prefix stays visible. - Every API route checks the required permission server-side. > **Note:** Row-level security is the second layer: a tool that forgets its tenant filter still sees no foreign rows. Security therefore does not hang on the care taken in a single query. ## Also asked - Security - Tenant separation - Row-level security - How secure is it? ## Related - https://bench.metrunio.com/en/help/site-id-und-write-key - https://bench.metrunio.com/en/help/server-events-signatur - https://bench.metrunio.com/en/help/rollen-und-rechte --- --- slug: rechtsgrundlage title: "Do I need a cookie banner for Metrunio?" category: datenschutz locale: en updated: 2026-10-17 keywords: ["cookie banner","TDDDG","GDPR","ePrivacy","EDPB","legal basis","consent","privacy policy"] questions: ["Do I need consent and an entry in the cookie banner for Metrunio?","Do I need a cookie banner?","What do I have to state about Metrunio in the cookie banner?","Does Metrunio have to be in the privacy policy?","TDDDG","Is this GDPR compliant?","ePrivacy"] url: https://bench.metrunio.com/en/help/rechtsgrundlage --- # Do I need a cookie banner for Metrunio? **Do I need consent and an entry in the cookie banner for Metrunio?** Yes: Metrunio measures visits and ad contacts only with consent, so it belongs in your cookie banner and your privacy policy together with its storage entries. Without consent it accepts at most purchases and refunds for revenue reconciliation, without browser, customer or advertising identifiers. The legal framework is Section 25 TDDDG: storing and reading information on a device generally requires consent. Metrunio is built so that consent-based measurement is the normal case: without consent an event is not stored, and the consent state is present per event and available for analysis. The exception is purchases and refunds your server reports without consent: without a decision in the banner and, only with an activated additional instruction, after a refusal. They are stored for revenue reconciliation without browser, customer or advertising identifiers; you can switch this off under Privacy. ## What you state in the cookie banner - Service: Metrunio, a service of Kokolorum GmbH, Industriering Ost 66, 47906 Kempen, Germany. Metrunio processes the data on your behalf. - Purpose: measuring which visits and ad contacts preceded an order or lead, and distributing the revenue across them by a rule. - Category: the visitor ID needs consent to analytics (statistics), the view ID for seen ads consent to marketing. You map how the categories are called in your banner during setup. | Name | Type and lifetime | Needs | | --- | --- | --- | | metrunio_anonymous_id | localStorage, no fixed expiry; removed on withdrawal | consent to analytics | | metrunio_session | sessionStorage, until the tab is closed | consent to analytics | | metrunio_queue | localStorage, until the waiting events have arrived | a decision in the banner | | metrunio_consent_pending | localStorage, until the decision has been reported | a decision in the banner | | metrunio_view | cookie of the measurement address, 30 days | consent to marketing | | metrunio_aid | cookie on your domain, 13 months (Safari seven days), only with your own measurement domain; valid on all subdomains | consent to analytics | What each entry is for, and what else Metrunio stores, is in “Which data is stored?”. For revenue reconciliation there is a separate building block for your privacy policy. EDPB Guidelines 2/2023 address tracking pixels and tracking links under the same ePrivacy rules; they therefore also cover impression pixels and click redirects. > **Legal note:** We are preparing a building block “Measurement with Metrunio” for your privacy policy; until then, use the details above and agree your text with your data protection adviser. > **Legal note:** This description is no substitute for legal advice. The legal notice, privacy policy and consent concept of your website are for you to review with your own legal adviser; the legal basis per signal and purpose must be documented. ## Also asked - Do I need a cookie banner? - What do I have to state about Metrunio in the cookie banner? - Does Metrunio have to be in the privacy policy? - TDDDG - Is this GDPR compliant? - ePrivacy ## Related - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/was-wird-gespeichert - https://bench.metrunio.com/en/help/consent-tool-verbinden - https://bench.metrunio.com/en/help/auftragsverarbeitung - https://bench.metrunio.com/en/help/datenschutzerklaerung-umsatzabstimmung --- --- slug: rechtsdokumente title: "Which legal documents exist, and where are they?" category: datenschutz locale: en updated: 2026-10-12 keywords: ["terms","DPA","TOM","privacy notice","legal notice","record of processing","documents"] questions: ["Where do I find the terms, the data processing agreement, the TOMs and the list of service providers?","Where do I find the terms and conditions?","Is there a model data processing agreement?","Which documents do I get for a privacy review?","TOMs under Art. 32 GDPR","Record of processing activities","Who is controller and who is processor?","Contract documents for procurement","Where do I find an earlier version of the terms?","Which version did I accept?","Old version of the data processing agreement","Permanent link to the agreed version"] url: https://bench.metrunio.com/en/help/rechtsdokumente --- # Which legal documents exist, and where are they? **Where do I find the terms, the data processing agreement, the TOMs and the list of service providers?** All of them are published openly, with no form and no sign-in: the general terms at /en/terms, the privacy notice at /en/privacy, and the data processing agreement, the technical and organisational measures, the annex listing the further processors and the deletion policy at /en/documents. The same page carries the overview “Service providers and recipients”: it names every recipient with its role, including those that act as their own controller and therefore do not belong in a contractual annex. Further evidence (record of processing activities, retention periods in detail, the breach notification process) is available on request. | Document | Answers | Where | | --- | --- | --- | | General Terms and Conditions | Formation of contract, prices and billing, term, liability, changes | /en/terms | | Privacy notice | What is processed when you visit the website and when you create an account | /en/privacy | | Data processing agreement (Art. 28 GDPR) | Subject matter, instructions, sub-processing, return and deletion | /en/documents/avv | | Technical and organisational measures (Art. 32 GDPR) | What is built in against unauthorised access, loss and mixing | /en/documents/tom | | Annex to the DPA: further processors | Who processes on our behalf under Art. 28 GDPR, where, and on what basis for transfers outside the EU | /en/documents/subunternehmer | | Service providers and recipients | Every recipient with its role, including those acting as their own controller | /en/documents | | Deletion policy | Which data stays for how long, and what happens when a person is erased | /en/documents/loeschkonzept | | Legal notice | Who the provider is | /en/imprint | ## The split of roles, without which none of it holds For the measurement data on your website **you** are the controller; we process it on your behalf. For your account, the contract and billing **we** are the controller. That is why there are two texts rather than one: the data processing agreement governs the first role, the privacy notice describes the second. ## Earlier versions The terms, the privacy policy and the four contract documents carry a version date, and every version stays available permanently under that date: /en/terms/2026-09-04, /en/privacy/2026-09-25, /en/documents/avv/2026-09-24. Such an address always shows exactly that text, even after we have changed it; an earlier version says at the top that it is no longer current and links to the current one. Every page lists all versions at the bottom. The confirmation you receive when concluding the contract links to the versions you accepted. ## What is added on request - Record of processing activities under Art. 30 GDPR, separately for the controller and the processor role - Deletion policy with the periods per data category - Process for data subject requests, with the deadlines from Art. 12 GDPR - Notification process for a personal data breach (Art. 33, 34 GDPR) - The data processing agreement as a signed document rather than a page > **Legal note:** The texts describe what the software actually does and are not legal advice for your case. Every version carries its date and stays available at its address; if a text changes, a new version is created. ## Also asked - Where do I find the terms and conditions? - Is there a model data processing agreement? - Which documents do I get for a privacy review? - TOMs under Art. 32 GDPR - Record of processing activities - Who is controller and who is processor? - Contract documents for procurement - Where do I find an earlier version of the terms? - Which version did I accept? - Old version of the data processing agreement - Permanent link to the agreed version ## Related - https://bench.metrunio.com/en/help/auftragsverarbeitung - https://bench.metrunio.com/en/help/avv-abschliessen - https://bench.metrunio.com/en/help/aufbewahrung - https://bench.metrunio.com/en/help/rechtsgrundlage --- --- slug: support-erreichen title: "How do I reach support?" category: konto locale: en updated: 2026-10-17 keywords: ["support","chat","contact","reply","response time","help","escalation"] questions: ["Who do I turn to with a question, and how fast will I get an answer?","Is there a live chat?","Is that a bot answering?","How fast does support reply?","How long does a reply from support take?","Is there a fixed response time?","How do I report a vulnerability?","Can I talk to a person?","How do I reach support from the portal?","What is the support email address?","My measurement has stopped, who helps me?","Is there support on the free plan?","Does the response time apply to the free plan?","Does a person answer on the Start plan?"] url: https://bench.metrunio.com/en/help/support-erreichen --- # How do I reach support? **Who do I turn to with a question, and how fast will I get an answer?** Through the chat on the website, by email to support@metrunio.com or in the portal under “Help”; anything our help centre covers, the chat answers immediately and names the articles. On plans from Pro, we get back to you by the next working day if your measurement fails, and answer all other questions in the order they arrive. On the free Start plan, the help centre and chat answer your questions, and a person answers security, data protection and legal questions. The chat sits at the bottom right of every page on the website. It answers from the same help centre you can search yourself, and writes under every answer which articles it came from. There is no answer without a source. In the portal, “Help” shows the email address and a link that opens the chat. ## How fast we reply - Questions the help centre covers are answered by the chat immediately, on every plan. - On plans from Pro: if your measurement fails, we get back to you by the next working day. We answer all other questions in the order they arrive. - On the free Start plan there is no fixed response time. The help centre and chat answer your questions; a person answers security, data protection and legal questions. - If you report a vulnerability, we reply within three working days on every plan and name a timeline. The terms commit to a response time only for the plans it is stated for, and to none on the free plan (§ 4 and § 9). It is stated here and in the table on the pricing page. ## What the chat answers itself Everything in the help centre. That includes questions about where to go: where do I find my invoice, how do I cancel, how do I conclude the DPA, what happens to my data after cancelling. If you ask several questions at once, it answers those covered by an article and hands the rest to a person. ## What a person answers On every plan: security reports and data protection incidents, requests about your own personal data and legal questions. On plans from Pro, everything in this list: - Quotes, discounts and price negotiation. - Legal interpretation, liability, requests from authorities. - Complaints. - Requests about your own personal data, such as access or erasure. - Security reports and data protection incidents. - Anything not covered by our help centre, even if the chat first found an article that then does not answer the question. In those cases the reply says so explicitly and hands over to a person. You get an acknowledgement with a short reference; reply to that email and your message lands in the same case. > **Note:** The automation takes the recurring questions off our hands so there is time for the rest, not to keep you away from us. You can write “I would like to speak to a person” at any time or use the button below the field. Whatever you have already typed goes along. On the free plan, a person answers the security, data protection and legal questions among them. ## Also asked - Is there a live chat? - Is that a bot answering? - How fast does support reply? - How long does a reply from support take? - Is there a fixed response time? - How do I report a vulnerability? - Can I talk to a person? - How do I reach support from the portal? - What is the support email address? - My measurement has stopped, who helps me? - Is there support on the free plan? - Does the response time apply to the free plan? - Does a person answer on the Start plan? ## Related - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/support-zugriff - https://bench.metrunio.com/en/help/einrichtung-ueberblick - https://bench.metrunio.com/en/help/tarife --- --- slug: nutzer-einladen title: "How do I invite more users?" category: konto locale: en updated: 2026-10-16 keywords: ["invitation","users","team","add","role"] questions: ["How do colleagues get access?","Add colleagues","Send an invitation","Invite the team","How many users can I have?","Why can I not invite anyone?","Can I hide the “limit reached” notice?","Resend an invitation","Which language is the invitation in?","I already have an account and was invited"] url: https://bench.metrunio.com/en/help/nutzer-einladen --- # How do I invite more users? **How do colleagues get access?** Under “Team & roles” you invite people by email and assign the role at the same time. The invitation leads into the same tenant; no second account is created. How many people you can add depends on the plan; on the free Start plan it is just you. 1. Open “Team & roles”. 2. Enter the business email address and choose the role. 3. The invited person receives an email and sets their own password. If they already have a confirmed Metrunio account under that address, they keep their name and password; accepting adds the new access, and they sign in as usual. The email comes in the language you are reading the portal in (German or English); from the Spanish and French interface it goes out in English. 4. Roles can be changed later; access can be withdrawn at any time. If the email did not arrive, resend the invitation under “Team & roles”. That creates a new link (the old one stops working), and the message goes out in the same language as the first, even if you now read the portal in another. > **Note:** Inviting requires the Admin role. The Analysis role can evaluate data and maintain campaigns but cannot manage users. > **Note:** Every membership counts, including open invitations: Start 1, Pro 5, Growth 15, unlimited above that. Once the limit is reached, remove someone who no longer needs access or change plan. If the plan drops below the number of members, after the trial for example, access for the surplus users is paused: one admin stays, the others appear in the list as “paused” and come back as soon as the plan covers them or someone is removed. > **Note:** When the number sits exactly at the limit, the overview shows “A limit of your plan has been reached.” in ochre. You can hide the notice for yourself; it comes back when the situation changes, on another plan for example. If access is paused because the plan covers fewer users, it is shown in red and cannot be hidden. ## Also asked - Add colleagues - Send an invitation - Invite the team - How many users can I have? - Why can I not invite anyone? - Can I hide the “limit reached” notice? - Resend an invitation - Which language is the invitation in? - I already have an account and was invited ## Related - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/konto-anlegen - https://bench.metrunio.com/en/help/mehrere-mandanten - https://bench.metrunio.com/en/help/tarife --- --- slug: rollen-und-rechte title: "Which roles exist and what may they do?" category: konto locale: en updated: 2026-10-14 keywords: ["roles","permissions","admin","administration","analysis","read only","read access","suspend"] questions: ["Who is allowed to do what in the portal?","Permissions","Who can manage users?","Restrict rights","Read-only access","Why can I no longer see some areas?","Why are email addresses missing from the user list?","How do I change someone’s role?","How do I suspend someone’s access?","Why can I not suspend this person?","Can accounting see invoices without being an admin?","Who can book a plan?","Who can see invoices?"] url: https://bench.metrunio.com/en/help/rollen-und-rechte --- # Which roles exist and what may they do? **Who is allowed to do what in the portal?** There are three roles inside a tenant (Admin, Analysis and Read only) plus two platform-side roles. Every API route checks the permission server-side; hiding things in the interface is only the display of that. | Role | May | | --- | --- | | Admin | everything in the tenant: users, websites, keys, settings (including whether support may access it), privacy requests, change log | | Analysis | report, export, import, maintain campaigns, tracking elements and conversions, run diagnostics, send test events | | Read only | report, without changing anything | | Support | read-only, only with an active, justified support grant for this tenant, and only while the tenant allows support access in its settings | | Platform administration | additionally platform-wide administration; no access to identifiers from privacy requests | The interface shows only what the role can actually do: “Privacy”, “Change log” and the API key form are visible to the Admin role only, and the export buttons are missing for Read only. Anyone who may not manage users sees names and roles in the user list, but not the other people’s email addresses. > **Note:** Only the Admin role may handle privacy requests. That is deliberate: access and deletion are acts with legal effect, not part of daily reporting. ## Plan, invoices and payment details All three roles see “Plan & usage”: plan, allowance and usage. Only the Admin role may book, switch the plan, change the invoice language and open “Invoices and payment details”, where invoices, payment method and billing address live. There is no separate role for accounting: whoever collects invoices needs the Admin role, or a person with that role downloads them and passes them on. ## Change a role, suspend access, remove - You change a role under “Team & roles” in the row’s selection field. The field shows the new role only once it is saved; if saving fails, it still shows the role that applies, and the message says so. - The new role applies from the person’s next request; no new sign-in is needed. - You cannot take the Admin role away from yourself, suspend yourself or remove yourself. Another person with that role does it. - A suspension applies to the person’s whole user account, not just this tenant, and ends all their sessions. That is why you can only suspend someone who belongs exclusively to tenants you administer. If the person belongs elsewhere too, remove them from your tenant. That only takes effect here. - Role changes, suspension, reinstatement and removal appear in the change log. ## Also asked - Permissions - Who can manage users? - Restrict rights - Read-only access - Why can I no longer see some areas? - Why are email addresses missing from the user list? - How do I change someone’s role? - How do I suspend someone’s access? - Why can I not suspend this person? - Can accounting see invoices without being an admin? - Who can book a plan? - Who can see invoices? ## Related - https://bench.metrunio.com/en/help/nutzer-einladen - https://bench.metrunio.com/en/help/support-zugriff - https://bench.metrunio.com/en/help/audit-log --- --- slug: eventkontingent title: "What is the event quota?" category: konto locale: en updated: 2026-10-17 keywords: ["quota","event volume","limit","plan","impressions"] questions: ["What happens if I exceed my event volume?","Event limit","What does more volume cost?","Quota exceeded","How is overage billed if I pay through Shopify?","Does the viewability report count against the quota?","What happens from six million events?","Does every impression count as an event?","How are impressions counted?","Do I get an email before my allowance runs out?","Does it cost anything if I exceed the allowance during the trial?","Can I hide the allowance notice?","How many events do I need?","How many events does an order produce?","How many events does a visit produce?","How many events do 3,000 orders a month produce?","How many events does my website have per month?","How do I convert visits and orders into events?","Why were more events accepted than my quota allows?"] url: https://bench.metrunio.com/en/help/eventkontingent --- # What is the event quota? **What happens if I exceed my event volume?** Every plan includes an event quota that is visible in the product at all times. Every four delivered impressions count as one event; viewability reports and test events do not count. The check happens per batch, and each instance of the intake writes its counter every five seconds. At the limit, a few seconds’ worth of events more can therefore be accepted. - The current figure and the expected overage are visible in the portal, not only on the invoice. - Test events (environment test) do not count. - Rule of thumb for the website: visits plus page views plus orders and leads. Every visit starts with one event, every page view is one, and so is every order or lead; anything else your setup reports, such as the cart, comes on top. Visitors who decline consent send nothing, so the rule of thumb tends to sit above your figure. After a week of measurement, “Plan & usage” shows how many it is for you. - Delivered impressions count in bundles: every four make one event. They are counted across the whole month, across all websites and, for an agency, across all client accounts; a bundle that is not full at the end of the month does not count. - The viewability report for a delivery is stored but does not count at all. - Under “Plan & usage” you can see how many delivered impressions are in your usage and how many events they count as. - Duplicate events count once; deduplication happens through the event ID. - Funnel steps (goal) are events like any other and count, even though a step counts as a conversion only once per customer. The same event ID counts once; an event ID built from customer and step keeps repeats out of the quota. - The check happens per batch and counting is bundled: each instance of the intake writes its counter every five seconds and until then checks against the last value it read plus its own increase. At the limit, a few seconds’ worth of events more can therefore be accepted, for the monthly quota as for the per-minute limit, including on the free plan. Nothing is charged for it there. - On the paid plans, every started 10,000 events above the allowance cost €3. A plan never costs more than the next plan up would cost at the same volume. - From six million events a month, any paid plan keeps measuring only once you have consented in the portal to arranging an individual plan. - On the free “Start” plan nothing is billed: there the limit simply holds. - During the trial, measurement continues above the allowance and nothing is charged. That applies to any month the trial falls in, including the days after it ends. - If you pay through Shopify, the same rate and the same cap apply; the amount lands on your Shopify bill. - At 80, 95 and 100 per cent of the allowance the admins receive an email; for an agency’s client accounts, the agency does. In the portal a note appears from 80 per cent, a warning from 95 per cent. - You can hide the notice on the overview for yourself as long as measurement continues. It comes back as soon as the situation changes: at the next threshold, on another plan or in a new month. If the free plan rejects further events, it is shown in red and stays. > **Note:** If you regularly reach the limit, first check whether unnecessary events are being sent, for example double page views because your page calls page() while automatic page views are switched on. Only when the volume is genuinely needed is a plan change worth it. ## How many events your shop needs - Every page view is one event. On top of that, each visit sends the start of the session once. - An order is one event. Depending on the shop integration, steps before it are added, such as product view, cart and checkout, and a refund is one more event. - Interactions, funnel steps and leads you measure in addition count as one each. - Delivered ad impressions count as one event per four. How many events a visit or an order produces depends on how many pages are viewed and what else you measure. The reliable figure is the measured one under “Plan & usage” after the first few days. During the trial an overshoot costs nothing, so you can measure first and choose the plan afterwards. ## Also asked - Event limit - What does more volume cost? - Quota exceeded - How is overage billed if I pay through Shopify? - Does the viewability report count against the quota? - What happens from six million events? - Does every impression count as an event? - How are impressions counted? - Do I get an email before my allowance runs out? - Does it cost anything if I exceed the allowance during the trial? - Can I hide the allowance notice? - How many events do I need? - How many events does an order produce? - How many events does a visit produce? - How many events do 3,000 orders a month produce? - How many events does my website have per month? - How do I convert visits and orders into events? - Why were more events accepted than my quota allows? ## Related - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/testdaten-zuruecksetzen - https://bench.metrunio.com/en/help/error-codes - https://bench.metrunio.com/en/help/funnel-schritte-messen --- --- slug: tarife title: "What does Metrunio cost?" category: konto locale: en updated: 2026-10-17 keywords: ["pricing","plan","cost","allowance","overage","Start","Pro","Growth","Scale","Agency"] questions: ["Which plans are there, and what happens if I go over?","Pricing","What does it cost?","Is there a free version?","Plan comparison","What happens if I exceed the allowance?","How long is the trial?","When does the trial start counting?","Does setup count towards the trial?","Do I lose trial days if installation takes a while?","Is there a minimum term?","Does overage billing apply if I pay through Shopify?","How many users does the free plan have?","How many websites can I add?","Can I measure two shops with Pro?","Can I pay yearly?","Can I move to a higher plan when paying yearly?","How do I cancel when paying yearly?","Which plan includes the read API and MCP?","Which plan includes sign-in through Google Workspace?","Which plan includes experiments?","Which plan includes the switchback trial?","Why is there a lock next to a menu item?","Why are experiments locked?","Who can book the agency plan?","What does Pro cost far above its allowance?","How many events is €1,000 of display budget?","Does Metrunio warn me when my allowance is running low?","Does it cost anything if I exceed the allowance during the trial?","Is overage from the trial charged later?"] url: https://bench.metrunio.com/en/help/tarife --- # What does Metrunio cost? **Which plans are there, and what happens if I go over?** Five plans, tiered by events per month: Start (free), Pro (€79), Growth (€249), Scale (€599) and Agency (€299 with two client accounts, €49 per further one, 250,000 events per client account); every four delivered impressions count as one event. Above the allowance, every started 10,000 events cost €3, and a plan never costs more than the next plan up would cost at the same volume. | Plan | Price / month | Events / month | Websites | Users | Retention | Post-view | | --- | --- | --- | --- | --- | --- | --- | | Start | free | 50,000 | 1 | 1 | 90 days | no | | Pro | €79 | 250,000 | 1 | 5 | 180 days | yes | | Growth | €249 | 1,000,000 | 3 | 15 | 730 days | yes | | Scale | €599 | 5,000,000 | unlimited | unlimited | 1,095 days | yes | | Agency | €299 with two client accounts + €49 per further one | 250,000 per client account | unlimited | unlimited | 730 days | yes | All prices net of VAT. Paid monthly, every plan can be cancelled at the end of any billing month, with no minimum term; paid yearly, twelve months cost as much as ten, and in return you commit for those twelve months. The full comparison with sites, users, platform forwarding and the API is on the pricing page. Pro is meant for one shop or website. If you measure several, Growth (three websites) or Scale (any number) is the right fit. Billing is per account by events, not per website. At the limit everything that already exists keeps measuring; you just cannot add another website. Sending measured conversions back to the ad platforms, the read API, MCP and webhooks to your own system come with Growth and above; alerts and reports to Slack or Teams come with every plan. The switchback trial (advertising switched on and off for set periods, evaluated with an interval) comes with Growth and above. Sign-in through Google Workspace (SSO) and experiments with two campaign groups come with Scale and above; there is no other company-account sign-in. The agency plan includes all of these. ## What the lock in the navigation means If your plan does not include an area, it stays in the navigation. It then carries a lock and the plan it comes with, such as “Experiments · Growth” on Pro. Open it and you see what it does and the way to “Plan & usage”. Nothing else reminds you: no pop-up, no notice on other pages. Individual features within a page say in their place which plan they come with: post-view, the model comparison, costs, sending conversions back, the read API, SSO. Locked does not mean deleted. If you created experiments and move to a plan without them, they stay stored and reappear as soon as your plan includes them. The conversions behind them appear in every report on every plan. ## What counts as an event Every click, site visit, interaction and conversion is one event. Delivered impressions count in bundles: every four make one event, and a bundle that is not full at the end of the month does not count. The viewability report for a delivery is stored but does not count against the allowance at all. Test events do not count, and neither do rejected ones. You can see where you stand at any time under “Plan & usage”, including how many delivered impressions are in it. With display and programmatic, the number of ad contacts decides the allowance, not the budget: €1,000 of display budget at a €5 CPM is about 200,000 impressions and so about 50,000 events. The budget figures on the plan cards (such as €5,000 to €25,000 of media budget for Pro) therefore apply to mostly click measurement. With a lot of display, use the volume calculator on the pricing page: it asks for your display budget and CPM. ## When the allowance runs out 1. At 80 per cent a note appears in the portal, and the admins receive an email with the figures and what happens from 100 per cent. 2. At 95 per cent a warning follows in the portal and by email. 3. From 100 per cent onwards the paid plans keep measuring and bill for it; up to the threshold above which an individual plan has to be agreed, no event is lost. The trial keeps measuring as well, but charges nothing. Only on the free plan are further events rejected, with the code QUOTA_EXCEEDED and a link to the guide. In every case, an email tells you. The emails go to the admins of the account that pays (for an agency’s client accounts, that is the agency), at most once per threshold and month. If usage jumps past several thresholds at once, only the message for the highest arrives. They cannot be unsubscribed from; which other messages are operational is covered in “Which emails does Metrunio send, and how do I stop them?”. Anyone can hide the notice on the overview for themselves as long as nothing is failing behind it; it is then shown in ochre. It comes back as soon as the situation changes: at the next threshold, on another plan or in a new month. Red notices cannot be hidden. They appear when something no longer runs: the free plan rejects further events, or after a move to a smaller plan users or websites are paused. On the paid plans, every started 10,000 events above the allowance cost €3. The cap comes from the next plan up: a plan never costs more than the next plan up would cost at the same volume, including that plan’s own overage. At 700,000 events Pro costs €214 and Growth €249; at 2,000,000 events Pro and Growth cost €549 each and Scale €599. From the point where they are level, upgrading is the better choice: the same amount with more in it. Scale has a fixed cap of €1,198 a month, twice its price, which is also the highest amount Pro, Growth or Scale can reach. The agency plan has no fixed cap. From six million events a month we keep measuring on any paid plan only if you have consented under “Plan & usage” to agreeing an individual plan; until it is in place, this calculation applies, cap included. Without consent, further events are rejected with the code INDIVIDUAL_TARIFF_REQUIRED. The expected amount is shown during the month under “Plan & usage” and does not first appear on the invoice. > **Note:** On the free “Start” plan nothing is billed. There the limit simply holds, rather than producing an invoice. > **Note:** What separates Start from Pro, apart from volume: one user instead of five, one attribution model instead of seven, no costs and therefore no ROAS, ten assistant questions a month instead of unlimited, visit history for the last 7 days instead of 30, no measurement of impressions and viewability and therefore no post-view. From Growth the visit history reaches as far back as your retention. If someone else should see the numbers, such as a colleague, your agency or management, you need Pro. > **Note:** If you pay through Shopify, the same calculation applies: €3 per started 10,000 events above the allowance, with the same cap from the next plan up. The amount appears on your Shopify bill, in the month it is reported; the description names the month it comes from. For the report to go out, the Metrunio app must stay installed in your store. How paying through Shopify works is covered in “How do I pay, and where are my invoices?”. ## What “start for free” means 30 days of Growth, no credit card and no notice period. The switchback trial is part of it; experiments with two campaign groups come with Scale. After that you pick a plan, or your account stays usable on the free “Start” plan. Its limits on features, users, websites and retention then apply. Post-view drops away, because Start does not measure impressions or viewability. Start is for one person and one website: one admin and the oldest website stay active, additional users and websites are paused until a plan covers them again. A paused website accepts no events; the collector answers with SITE_PAUSED. The model comparison and importing new ad costs drop away as well; costs already recorded stay. Retention shortens to 90 days. Data that falls outside that period is deleted, but not straight away: we tell you the day of the cut in a separate message 30 days in advance. The 30 days count from the first real measurement on your website, at the latest from day 14 after sign-up. Installation, the data processing agreement and publishing in your tag manager therefore use up no trial days. If your website measures on day 3, the trial ends on day 33; if it has not measured by day 14, the trial ends on day 44. Test events from the setup and imported orders do not count as a measurement. Until the first measurement, “Plan & usage” shows both dates: when the trial days start at the latest and when the trial ends without a measurement. With the first measurement an email tells you the fixed end date. Measurement continues above the allowance during the trial as well, so nothing is missing while you try things out. Nothing is charged for it, neither during the trial nor later. That applies to every month the trial falls in, including the days after it ends: if it ends on the 20th, the whole month is free, because the allowance is counted per month. Overage only arises from the first month that begins after the trial has ended, and only on a paid plan. One limit remains: from six million events a month, measurement continues during the trial too only with consent to an individual plan. You are reminded twice before anything happens: seven days and one day before the end. Both messages name what changes and say explicitly that you do not have to do anything. How many days are left is always visible under “Plan & usage”. > **Note:** If you explicitly pick the free plan at sign-up, that plan applies without a trial. Paid plans are purchased after sign-up under “Plan & usage”; the trial is the entry point for everyone else. If you arrive through a plan button on the pricing page, the sign-up shows your choice as noted; nothing is booked by that. If you purchase while the trial is still running, your plan is unlocked immediately, but billing only starts at the end of the trial. Under “Plan & usage” you then see the date of the first charge instead of the sentence about the trial. There is one exception in the last 48 hours: that close to the end our payment provider no longer allows a later billing start, and the first charge happens immediately. In that case “Plan & usage” says so before you click “Purchase plan”, together with the day your trial ends. If you switch plans during the trial, the trial keeps running: the new plan is also charged only from its end. If you book before your website has measured for the first time, billing uses the end date shown under “Plan & usage” at that moment. The first measurement then no longer moves it forward: you never pay earlier than your booking told you. ## Paying yearly Twelve months for the price of ten, paid once in advance: Pro €790, Growth €2,490, Scale €5,990 a year, net. You commit for twelve months; after that the contract continues monthly and can be cancelled monthly. You choose the billing period when booking under “Plan & usage”. If you need more during the twelve months, you move to a higher plan under “Plan & usage”, effective immediately. We charge the difference for the rest of the term pro rata, straight away; the twelve months carry on and do not start again. After that you continue at the monthly price of the new plan. If your bank declines the charge, everything stays as it was. If it asks for confirmation (3-D Secure), the switch does not work there; contact support in that case. With yearly payment, moving down and cancelling take effect at the end of the twelve months. Neither works under “Invoices and payment details”, because our payment provider’s page blocks changes while the term is running. Contact support for that; we set it up for the end of your term and confirm it to you. ## Agency €299 a month with two client accounts, €49 for each further one. Every active client account adds 250,000 events a month to the shared allowance: 500,000 with two clients, 1.5 million with six, counted across all of them. Data is kept for up to 730 days. A client account is a client’s separate area with its own websites, data and logins. You can book the plan yourself from two client accounts; a tenant for your own company does not count. With a single client, talk to us, or take Growth or Scale. More in “How do I work with several clients as an agency?”. ## Changing plans Upwards immediately, downwards at the end of the billing period, which for yearly payment is the end of the twelve months. With monthly payment you switch under “Invoices and payment details”, with yearly payment as described above. When moving down we tell you beforehand which data falls out of retention. Shortening from 730 to 180 days deletes past data, and that should surprise no one. Cancelling means moving back to the free Start plan; how that differs from closing your account is covered in “How do I pay, and where are my invoices?”. ## Also asked - Pricing - What does it cost? - Is there a free version? - Plan comparison - What happens if I exceed the allowance? - How long is the trial? - When does the trial start counting? - Does setup count towards the trial? - Do I lose trial days if installation takes a while? - Is there a minimum term? - Does overage billing apply if I pay through Shopify? - How many users does the free plan have? - How many websites can I add? - Can I measure two shops with Pro? - Can I pay yearly? - Can I move to a higher plan when paying yearly? - How do I cancel when paying yearly? - Which plan includes the read API and MCP? - Which plan includes sign-in through Google Workspace? - Which plan includes experiments? - Which plan includes the switchback trial? - Why is there a lock next to a menu item? - Why are experiments locked? - Who can book the agency plan? - What does Pro cost far above its allowance? - How many events is €1,000 of display budget? - Does Metrunio warn me when my allowance is running low? - Does it cost anything if I exceed the allowance during the trial? - Is overage from the trial charged later? ## Related - https://bench.metrunio.com/en/help/eventkontingent - https://bench.metrunio.com/en/help/bezahlen-und-rechnungen - https://bench.metrunio.com/en/help/mehrere-mandanten - https://bench.metrunio.com/en/help/was-ist-metrunio - https://bench.metrunio.com/en/help/e-mails-und-newsletter --- --- slug: mehrere-mandanten title: "How do I work with several clients as an agency?" category: konto locale: en updated: 2026-10-17 keywords: ["agency","tenant","switch","clients","multi-tenancy"] questions: ["Can I manage several tenants from one login?","Agency access","Switch tenants","Manage several clients","What does the agency plan cost?","What is a client account?","From how many clients can I book the agency plan?","Can my clients see what I pay?","Can my clients book a plan themselves?","Usage per client","Pass overage on to clients","When is Scale cheaper for a large client?","Where do I create a client account?","How many events did a client use in a month?","Events per client account and month","Usage per client as CSV","Billing per client account","What does Metrunio cost for an agency with ten clients?","Agency with ten clients","Who concludes the DPA for our client?","Does every client account need its own DPA?","How do I pass usage costs on to my clients?","Can I book the agency plan during the trial?","When do I start paying if I book during the trial?","Is there a demo for agencies?","What does the client overview look like?"] url: https://bench.metrunio.com/en/help/mehrere-mandanten --- # How do I work with several clients as an agency? **Can I manage several tenants from one login?** Every client is a separate tenant with its own data, and one login can be a member of several tenants and switch between them in the portal. Data ends at the tenant boundary, technically as well. - Multi-tenant down to the database level, with row-level security as a second layer. - Roles per tenant: the same person can be admin for one client and read-only for another. - The same setup flow for every client, with no bespoke route per mandate. - Under “Client overview” all client accounts sit in one table, those needing action first: whether measurement and ad accounts are running, what came in, how much of the quota has been used this month and what is open, with a button to open each. On Mondays, an email to the admins sums up which clients have something open. See “How do I see all clients at a glance?”. - CSV export for your own reporting and client presentations. - One scheduled report for all of them: a single message with one section and its own CSV file per client account. The files are separate, so each can be passed on without containing another client’s figures. - A note per client, placed above the next report: your sentence of context, marked as a note, valid for exactly one report. - Every figure carries its basis in the text of the report and in every row of the CSV: model, post-view, period, environment, currency and data status. - The change log makes it traceable who changed what and when. > **Note:** Switching tenants happens in the portal and creates a new session for the chosen tenant. The “Client overview” puts clients side by side. Each row comes from the client’s own tenant, figures appear only where you are a member, and there is no total across them. Nor is there any view that mixes data from several clients. > **Caution:** There is no white-label appearance: reports and the portal carry the Metrunio name. What you can add are your own words in the note and the file you take into your own document. Which metrics appear in the report is not selectable. ## The agency plan - A client account is a client’s separate area: its own websites, its own data, its own logins and roles. - €299 a month with two client accounts, €49 for each further one. With five client accounts that is €446, with ten client accounts €691 (€299 plus eight more at €49 each) and an allowance of 2,500,000 events. All prices net. - Every active client account adds 250,000 events a month to the allowance, the two included ones as well. The count covers all client accounts together: a large client may measure more than a small one as long as the total fits. Above it every started 10,000 events cost €3; the agency plan has no fixed cap. - If a single client uses more than 1,990,000 events a month over its share, its overage costs more than a contract of its own on Scale (€599 with 5,000,000 events). The usage overview under “Clients” then marks it, and the volume calculator on the pricing page names the threshold. With a contract of its own, though, the client no longer appears in your client overview. - Data is kept for up to 730 days. The features of Scale are included: post-view, model comparison, forwarding to the platforms, the read API, MCP, experiments and sign-in through Google Workspace. Plus the overview of all clients and switching between tenants. - You can book the plan yourself from two client accounts, after signing up, under “Plan & usage”. A tenant for your own company does not count. With a single client, talk to us or take Growth or Scale. - You create client accounts before booking, under “Clients”; that section is available as soon as you have booked the agency plan or chosen it when signing up. Until you book they are prepared: you can set them up, but nothing is measured there yet and no surcharge applies. With the agency plan they become active; if it ends, they rest again. Nothing is deleted. - If you book the agency plan during your trial, your client accounts start measuring when you book, and you pay the base price only from the end of the trial. The surcharge from the third client account onwards and any overage are billed only from the month after the trial ends. If the trial ends in less than two days, billing for the base price starts right away. - The agency demo on the agencies page of the website shows what the client overview and the monthly report look like: a sample agency with three clients, without signing in and read-only. - The agency plan cannot be booked through Shopify. - If a client already has a Metrunio account of their own, support assigns it to your agency. Taking it over with an invitation link is not enabled yet. See “How do I hand over an existing account to an agency?”. ## Passing usage on to your clients In the “Client overview”, below the table, you find the usage per client and calendar month: the events, how many of them the allowance covers and how many go beyond it. You pick one of the last twelve months; the current one is marked “to date” and is still growing. “CSV with 12 months” downloads all twelve months as a file with the columns kunde, monat, events, im_kontingent_enthalten, darueber, bis_heute and datenstand (client, month, events, included in the allowance, beyond, to date, data status). - It is counted exactly as for your invoice: every event that goes onto your agency’s allowance counts for the client it came from. Delivered impressions count four to one event here as well. What your own tenant measures appears under no client. - Each client’s allowance covers up to 250,000 events, the amount it adds to the shared allowance. “Beyond” is what it used on top of that in the month. - You are billed for the total across all clients: a client below its 250,000 events offsets one above. Added up, the “beyond” column can therefore exceed the overage on your invoice. What you charge your clients is up to you. - A month starts at midnight UTC, as on the invoice. In Germany that is 1 am in winter and 2 am in summer. - A closed client account stays in the list as long as usage was counted for it within the twelve months. - You see the figure for clients you are not a member of as well: it belongs to your billing and is not an analysis of the client’s data. Admin and analyst can download the file; read-only access sees the table. > **Note:** Usage per client has only been counted since this view was introduced in October 2026. Months before show a dash, not a zero, and the file leaves them out: until then there was only the total across all clients. ## What your clients see of the billing Under “Plan & usage”, your clients only see that you handle billing: your name, no price, no allowance, no usage and no button to book. They cannot book a plan of their own; the API rejects it and names you. If measurement is paused because your allowance is used up, they see that in red on the overview and data status, also without figures. ## DPA per client account Every client account needs its own data processing agreement before anything is measured there. It is concluded inside the client account itself, in the setup assistant as for any account, by a person with the Admin role. Whoever creates a client account holds that role there. > **Legal note:** If you work as an agency on behalf of your client, you are a processor yourself, and Metrunio becomes a further processor. The DPA then requires you to name the controller for the client account, so the chain of instructions is documented. Whether your client concludes the DPA herself or you do it for her is for the two of you to settle in your own contract. ## Also asked - Agency access - Switch tenants - Manage several clients - What does the agency plan cost? - What is a client account? - From how many clients can I book the agency plan? - Can my clients see what I pay? - Can my clients book a plan themselves? - Usage per client - Pass overage on to clients - When is Scale cheaper for a large client? - Where do I create a client account? - How many events did a client use in a month? - Events per client account and month - Usage per client as CSV - Billing per client account - What does Metrunio cost for an agency with ten clients? - Agency with ten clients - Who concludes the DPA for our client? - Does every client account need its own DPA? - How do I pass usage costs on to my clients? - Can I book the agency plan during the trial? - When do I start paying if I book during the trial? - Is there a demo for agencies? - What does the client overview look like? ## Related - https://bench.metrunio.com/en/help/kundenuebersicht - https://bench.metrunio.com/en/help/konto-an-agentur-uebergeben - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/audit-log --- --- slug: kundenuebersicht title: "How do I see all clients at a glance?" category: konto locale: en updated: 2026-10-16 keywords: ["clients","agency","overview","client account","findings","Monday","traffic light","ad accounts","quota"] questions: ["Is there an overview of all of my agency’s client accounts?","All clients at a glance","Overview of all tenants","Which client has a measurement problem?","Which clients need attention right now?","Are my clients’ ad accounts running?","For which client is the cost import failing?","Why is a client at the top?","Why do I see no figures for a client?","Where is the “Client overview” menu item?","Cross-tenant overview","Open a client account quickly","Usage per client and month","How much of the quota has a client used this month?","Weekly email about my clients","Agency traffic light","Consent rate per client"] url: https://bench.metrunio.com/en/help/kundenuebersicht --- # How do I see all clients at a glance? **Is there an overview of all of my agency’s client accounts?** Under “Client overview” every client account of your agency sits in one row, those needing action first: whether measurement and ad accounts are running, how much of the quota the client has used this month, plus events, conversions, revenue and attribution rate for the last 7, 30 or 90 days. Measurement, ad accounts and figures appear only for clients in which you are a member yourself. On Mondays, an email to the agency’s admins sums up which clients have something open. “Client overview” appears in the navigation at the top, with the main areas, as soon as your tenant has client accounts, prepared ones included. Without client accounts the menu item does not exist. - Measurement: the status from the client’s setup check (“All in order”, “Suggestions” or, in red, “Action needed”), the number of open findings and the most urgent one with its guide. A click on the number of findings opens the client under “Data status”. - Ad accounts: for each ad platform and direction (receive costs, return conversions) the status you also see under “Data connections”, the worst first. It is red for “Error”, “Incomplete” and “paused (not in your plan)”, amber in test mode and green when everything runs; a paused connection stays grey. A click opens the client under “Data connections”. - Quota this month: the client’s events since the start of the month, counted as on your invoice, as a share of the 250,000 it brings into the shared quota. Without a colour, because the quota applies to all clients together: a client above 100 per cent only costs more once all of them together exceed it. You see this figure for clients you are not a member of as well. - Last event: when something last came in. - Events, conversions and revenue: measured, in the production environment; revenue before refunds, in the client’s currency. If a client has acquisition values, their sum appears below as a set value, never in revenue. - Attribution rate: the share of conversions preceded by a measured touchpoint, under the client’s default model. - Open: switches into the client account and shows its overview. The tenant picker at the top takes you back. - Monthly report: the client’s PDF for one calendar month, with your agency’s name and logo in the header. What it contains is explained under “How do I give my client a monthly report as a PDF?”. The last 7, 30 or 90 days are counted per client in its own time zone: a client in New York gets its days, not your agency’s. After opening, the client’s overview shows the same figures. ## Who comes first The table puts clients that need action first, then those with suggestions, then the rest, each by name. Action needed means something is not running for this client: measurement, the cost import or returning conversions to an ad platform. A suspended client account counts too, because it does not measure. Suggestions means it runs, but something deserves a look, such as an ad account in test mode. The quota plays no part in the order. ## On Mondays by email - If at least one client has something open, the agency’s admins get an email on Mondays: one line per client with the reason, those needing action first. If all clients are in order, none is sent. - It names the same findings as the table. Measurement and ad accounts appear only for clients you are a member of; that a client is suspended appears for everyone. The email says how many clients it did not check for that reason. - At most one per week. You unsubscribe yourself under “Settings → Notifications → Your emails”. Below the table you find the usage per client and calendar month, counted as on your invoice and available as a CSV download. How to read it and pass it on is explained under “How do I work with several clients as an agency?”. ## Why a client shows no figures - No access: you are not a member of this client account. The overview reads only what you could see after opening it. Whoever manages the client account can invite you under “Team & roles”. - Prepared: the client account exists, but measurement only starts once the agency plan is booked. - Suspended: the client account is not measuring; opening it shows why. > **Note:** The table puts clients side by side and adds no total across them: a client’s figures stay in its row. It is calculated on every visit, client by client. With many client accounts that takes a few seconds. > **Caution:** There is no consent rate per client. When someone declines in the banner without having agreed before, their browser sends nothing, not even the refusal. A rate would therefore rest only on the browsers that sent something and come out too high. ## Also asked - All clients at a glance - Overview of all tenants - Which client has a measurement problem? - Which clients need attention right now? - Are my clients’ ad accounts running? - For which client is the cost import failing? - Why is a client at the top? - Why do I see no figures for a client? - Where is the “Client overview” menu item? - Cross-tenant overview - Open a client account quickly - Usage per client and month - How much of the quota has a client used this month? - Weekly email about my clients - Agency traffic light - Consent rate per client ## Related - https://bench.metrunio.com/en/help/mehrere-mandanten - https://bench.metrunio.com/en/help/monatsbericht-fuer-kunden - https://bench.metrunio.com/en/help/health-center - https://bench.metrunio.com/en/help/kostenabgleich-plattformen - https://bench.metrunio.com/en/help/conversion-rueckgabe - https://bench.metrunio.com/en/help/e-mails-und-newsletter - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/tagesgrenzen-und-zeitzone - https://bench.metrunio.com/en/help/tarife --- --- slug: konto-an-agentur-uebergeben title: "How do I hand over an existing account to an agency?" category: konto locale: en updated: 2026-10-17 keywords: ["agency","takeover","handover","client account","invitation","billing"] questions: ["Can an agency take over a Metrunio account that already exists?","Client already has a Metrunio account","Assign an existing account to an agency","Take over an existing workspace as a client account","An agency wants to take over my account","Accept an agency invitation","Move my account to an agency","Hand billing over to the agency","What happens to my subscription when the agency takes over?","Does the agency get access to my data?","Withdraw a takeover invitation link","How do I leave the agency again?","Back to my own subscription after the handover","Remove the link to the agency","What happens to my account if the agency does not pay?","Agency does not pay, does my shop keep measuring?"] url: https://bench.metrunio.com/en/help/konto-an-agentur-uebergeben --- # How do I hand over an existing account to an agency? **Can an agency take over a Metrunio account that already exists?** The takeover is not enabled yet; until then, support assigns an existing account to an agency. Once enabled, it works with the consent of both sides: the agency creates an invitation link under “Client overview”, and the account’s administrators open it and accept. After that the account is a client account of the agency and is billed through it; data, websites and settings stay. A subscription of the account’s own has to end first. The administrators can go back to their own subscription at any time under “Plan & usage”. > **Caution:** Not enabled yet: contract and data processing for a takeover are still under review. Until then, the section “Take over an existing account” does not appear in the client overview, and an invitation link reports “not enabled yet”. In the meantime, support assigns an existing account. What follows applies once it is enabled. ## On the agency side - Under “Client overview”, in the section “Take over an existing account”, you create an invitation link. You pass it to the account’s administrators yourself; Metrunio sends nothing. - The link is valid for 14 days and only once. Metrunio shows it only right after you create it and stores nothing but a hash. Below it you see the state of every invitation and can withdraw open ones. - Only an agency on the agency plan can invite. Without it, measurement in the account taken over would stop, as with a prepared client account. ## On the account side - A person with the Admin role opens the link while signed in to the account that should be handed over. With several accounts, they pick the right one at the top. - The page names the agency, what changes and what stays. To confirm, they type the account name, as when closing an account. - Whether the person who sent the invitation becomes an admin of the account is a separate box and not preselected. Without it, the agency only sees name and status in its client overview. You can give or remove access at any time under “Team & roles”. - Support cannot accept on your behalf from the customer view. ## What changes and what stays - Billing goes through the agency. “Plan & usage” then shows who bills the account, without price, quota or invoices. - The account moves to the agency plan; limits for websites, users and retention follow it. A running trial ends. - Data, websites, connections, settings and everyone with access stay. Measurement continues without interruption. - Both sides find the handover in the audit log: “Account handed over to an agency” in the account, “Existing account taken over as a client account” at the agency. ## What holds a handover up - A subscription of the account’s own through Stripe, including its trial, or through Shopify. Cancel it and accept once the term has ended, so no period is paid twice. - An outstanding payment for the account. - An account that already belongs to an agency or manages client accounts itself. There is only one level; moving between agencies goes through support. - A suspended or closed account. ## Back to your own subscription - For an account that was handed over, “Plan & usage” shows “Back to your own subscription”. A person with the Admin role removes the link to the agency there and types the account name to confirm. Support cannot do this for you from the customer view. - After that the account is billed directly again and continues on the free Start plan. You book another plan there like any account. Anything beyond the limits of the free plan, such as further websites or users, pauses; nothing is deleted. - Data, websites, connections and settings stay. People from the agency keep their access until you remove it under “Team & roles”. - The agency is notified, and both sides find the step in the change log. - This only applies to an account that came to the agency through a handover. A client account the agency created itself belongs to its contract; support sets up a change. ## If the agency does not pay If Metrunio locks the agency because of an outstanding payment, an account that was handed over keeps measuring with full access for as long as the agency itself: 30 days from its lock. The administrators get an email with the date, and the portal shows a notice. If the agency pays in that time, nothing changes. After the 30 days the account follows the lock: measurement ends, reports are locked, export stays available. Going back to your own subscription still works then, and the lock ends immediately. If Metrunio terminates the agency’s contract, at the earliest 60 days after its lock, an account that has not removed the link by then is closed with it: 30 days to export, then the data is deleted. > **Legal note:** The data processing agreement the account concluded stays in place unchanged at the handover. If the agency then works on the client’s behalf, you settle in your own contract, as for a newly created client account, who concludes the DPA and who is named as the controller. ## Also asked - Client already has a Metrunio account - Assign an existing account to an agency - Take over an existing workspace as a client account - An agency wants to take over my account - Accept an agency invitation - Move my account to an agency - Hand billing over to the agency - What happens to my subscription when the agency takes over? - Does the agency get access to my data? - Withdraw a takeover invitation link - How do I leave the agency again? - Back to my own subscription after the handover - Remove the link to the agency - What happens to my account if the agency does not pay? - Agency does not pay, does my shop keep measuring? ## Related - https://bench.metrunio.com/en/help/mehrere-mandanten - https://bench.metrunio.com/en/help/kundenuebersicht - https://bench.metrunio.com/en/help/bezahlen-und-rechnungen - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/zahlungsverzug --- --- slug: support-zugriff title: "Can support see my data?" category: konto locale: en updated: 2026-10-12 keywords: ["support","access","grant","privacy","settings"] questions: ["Who at Metrunio has access to my account?","Support access","Does Metrunio see my data?","Impersonation","Switch off support access","Do I have to approve every support access?","Can I stop support from accessing my account?"] url: https://bench.metrunio.com/en/help/support-zugriff --- # Can support see my data? **Who at Metrunio has access to my account?** Only while “Allow support access” is switched on in your settings; it is on by default. Support can then read and run diagnostics with a time-limited, justified grant, but cannot change data. If you switch it off, any running access ends immediately and no new one is possible. - Whether support may access your account is set under “Settings”, in the “Security” group, with “Allow support access”. The Admin role can change it. It is on by default; you then do not approve each access separately. - If it is off, neither support nor Metrunio’s platform administration can look into your account, not even to resolve a request from you. Switching it off ends any running access immediately, together with the session in which someone is looking in. - Every access is time-limited, to eight hours at most, and carries a stated reason. - It appears in your tenant’s change log with its reason as soon as it starts. If it ends before its time limit, that is recorded there too, as is every change to the setting. - Support can read and run diagnostics but cannot change data. This also applies to Metrunio’s platform administration. - Whoever looks in from support works in a separate session that the portal marks as “Support mode”. When the time limit runs out, that session ends too; it does not extend itself. - Identifiers from privacy requests stay hidden even from the platform administration. - The same rule is set out in the data processing agreement (section 5) and in the technical and organisational measures under “Documents”. > **Note:** When in doubt, check the change log. There is no support access without an entry there: no grant, no access, and every grant is recorded when it starts. ## Also asked - Support access - Does Metrunio see my data? - Impersonation - Switch off support access - Do I have to approve every support access? - Can I stop support from accessing my account? ## Related - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/audit-log - https://bench.metrunio.com/en/help/sicherheit-architektur --- --- slug: api-keys-rotieren title: "How do I rotate or revoke a key?" category: konto locale: en updated: 2026-10-12 keywords: ["key","rotate","revoke","API key","security"] questions: ["What do I do if a key was published by accident?","Withdraw a key","Rotate a key","Server key compromised"] url: https://bench.metrunio.com/en/help/api-keys-rotieren --- # How do I rotate or revoke a key? **What do I do if a key was published by accident?** You renew the write key and the server key in “Setup”, the server key on the “Server Events API” tab, where you can also revoke it. Read keys are revoked under “Exports & AI connections”, in the “API access” section, where you also create a new one. A new key is shown in full only once, and the old one stops working immediately. 1. Write key: open “Setup” and choose “Create a new write key” at the snippet. 2. Server key: open “Setup”, tab “Server Events API”, and choose “Create a new server key” or “Revoke”. 3. Read key: open “Exports & AI connections”, section “API access”, revoke the old one and create a new one. 4. Copy the new value immediately, enter it in every system that uses it and check that data arrives again. The old key is already invalid. > **Caution:** The new key is shown in full only once; afterwards only a prefix remains visible, because keys are stored hashed. Plan the rotation so the switch happens without a gap. ## Also asked - Withdraw a key - Rotate a key - Server key compromised ## Related - https://bench.metrunio.com/en/help/site-id-und-write-key - https://bench.metrunio.com/en/help/mcp-anbinden - https://bench.metrunio.com/en/help/sicherheit-architektur --- --- slug: zwei-faktor title: "Set up two-step verification" category: konto locale: en updated: 2026-10-16 keywords: ["two-factor","2FA","TOTP","authenticator","passkey","sign-in","security"] questions: ["How do I protect my account beyond the password?","Two-factor authentication","Set up 2FA","How do I protect my account?","Connect an authenticator app","I lost my phone","Passkey as a second factor"] url: https://bench.metrunio.com/en/help/zwei-faktor --- # Set up two-step verification **How do I protect my account beyond the password?** In the settings you set up a code from an authenticator app or a passkey. After your password, sign-in then asks for the code or the passkey. Ten recovery codes cover the case where you have neither at hand. Your account sees budgets, revenue and, through conversion forwarding, the credentials for the ad platforms. A password alone is not enough for that: it can be guessed, intercepted or carried over from another service. An additional code from the app protects your account if someone only knows your password. It is valid only briefly and works only once. 1. Open the settings and choose “Set up” under “Two-step verification”. 2. Enter the secret shown into your authenticator app, or scan the address as a QR code. 3. Enter the six-digit code from the app and switch it on. 4. Write down the ten recovery codes and keep them separate from your phone. > **Caution:** The recovery codes appear exactly once. What we store is their checksum; we cannot show them again later. Without them and without your phone you will not get back into your account. Instead of the app, or in addition to it, you can add a passkey. It counts as a second step in the same way: your first passkey switches on two-step verification, even without the app, and you get ten recovery codes if you have none yet. It also signs you in without a password. How that works is explained in “Sign in with a passkey”. ## What to know - The code in the app changes every thirty seconds; each one can be used only once. - If your phone’s clock is wrong, the codes will not match. Set it to automatic time. - Each recovery code works exactly once; the settings show how many are left. - Switching it off needs your password and a code: a hijacked session alone should not remove the protection. - Switching it on and off is recorded in the change log of every tenant you belong to, and its admins see it. > **Caution:** A one-time code can be phished too: a fake sign-in page can ask for your password and code and pass both on at once. So enter the code only on the genuine Metrunio sign-in page and never in an email, a chat or on the phone, not even if someone claims to be support. We never ask for it. The setting applies to your account, not to the tenant. Everyone decides for themselves, and should decide in favour. ## Also asked - Two-factor authentication - Set up 2FA - How do I protect my account? - Connect an authenticator app - I lost my phone - Passkey as a second factor ## Related - https://bench.metrunio.com/en/help/passkeys - https://bench.metrunio.com/en/help/wiederherstellungscodes - https://bench.metrunio.com/en/help/passwort-und-anmeldung - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/audit-log --- --- slug: wiederherstellungscodes title: "Signing in without your phone or passkey: recovery codes" category: konto locale: en updated: 2026-10-16 keywords: ["recovery code","lost phone","two-factor","2FA","sign-in"] questions: ["How do I sign in when my phone or passkey is not at hand?","I lost my phone","Lost my passkey","Lost the laptop with my passkey","Recovery code does not work","Recovery code invalid","Deleted my authenticator app","New phone, old codes","Second step without a phone","Sign-in asks for a code"] url: https://bench.metrunio.com/en/help/wiederherstellungscodes --- # Signing in without your phone or passkey: recovery codes **How do I sign in when my phone or passkey is not at hand?** After your password, choose “Use a recovery code” and enter one of the ten codes you wrote down during setup. Each works exactly once. Without your phone or passkey and without an unused code there is no way back into this account. 1. Enter your email address and password and choose “Sign in”. If the password is right, the page asks for the second step. 2. Choose “Use a recovery code”. Depending on the account it is preceded by “Phone not at hand?”, “Passkey not at hand?” or both. 3. Enter a code from your list that you have not used yet. Upper and lower case, hyphens and spaces do not matter. 4. After signing in, the settings show how many codes are left. ## If the code is rejected - “This recovery code is not valid” means: used or mistyped. The page deliberately does not say which, as it would otherwise reveal which codes exist. Use the next unused one. - “The code from the authenticator app is not correct” only concerns the code from the app. There, the right time on your phone and the code currently shown help. ## New phone Sign in with a recovery code and switch off two-step verification in the settings: enter your password, choose “Lost your phone? Switch off with a recovery code” and enter another unused code. Then set it up again on the new phone and you get ten new recovery codes. The old ones stop working. ## Lost passkey Sign in with a recovery code and remove the lost device’s passkey under “Settings” → “Passkeys”. If it is your last second step, confirm the removal with your password and another unused code; the remaining codes then expire. When you add a new passkey afterwards, you get ten new recovery codes. > **Caution:** Without your phone or passkey and without an unused recovery code there is no way back into this account, not through “Forgot password” either, because the second step stays switched on. There is currently no way through support. Your tenant’s admins can invite you again with a different address. If you are the only admin, invite a second person with that role as a precaution. ## Also asked - I lost my phone - Lost my passkey - Lost the laptop with my passkey - Recovery code does not work - Recovery code invalid - Deleted my authenticator app - New phone, old codes - Second step without a phone - Sign-in asks for a code ## Related - https://bench.metrunio.com/en/help/zwei-faktor - https://bench.metrunio.com/en/help/passkeys - https://bench.metrunio.com/en/help/passwort-und-anmeldung - https://bench.metrunio.com/en/help/rollen-und-rechte --- --- slug: passkeys title: "Sign in with a passkey" category: konto locale: en updated: 2026-10-16 keywords: ["passkey","WebAuthn","FIDO2","passwordless","sign-in","security"] questions: ["How do I sign in without a password?","What is a passkey?","Set up a passkey","Sign in without a password","Sign in with my fingerprint","Face ID or Windows Hello for Metrunio","Use a security key","Remove a passkey","Passkey as a second factor"] url: https://bench.metrunio.com/en/help/passkeys --- # Sign in with a passkey **How do I sign in without a password?** Add a passkey under “Settings” → “Security”. After that you sign in with “Sign in with a passkey” without a password, using your fingerprint, face or your device’s PIN. A passkey also counts as the second step when you sign in with your password. A passkey is a key that your device or password manager creates for Metrunio, such as iCloud Keychain, Google Password Manager, Windows Hello or a security key. We never receive the secret part. Your device or password manager manages it, depending on the provider and your settings also backed up and synced with your other devices, and asks for your fingerprint, face or PIN to sign in. We hold the public part and management details, such as the passkey’s name and when it was last used. ## Add a passkey 1. Open the settings and choose “Add passkey” under “Passkeys” in the “Security” section. 2. Give it a name you will recognise, such as “Laptop”. 3. Confirm with your password. If you already have a second step, also confirm with a passkey, the code from the app or a recovery code. 4. Confirm the request on your device. The passkey then appears in the list. > **Caution:** If this is your first second step, the page then shows ten recovery codes, exactly once. Write them down: without a passkey and without a code you will not get back into your account, not through “Forgot password” either. ## Signing in - Without a password: choose “Sign in with a passkey” on the sign-in page and confirm the request on your device. Your device checks that it is you, so no second step follows. - With your password: once you have a passkey, sign-in asks for the second step after your password. Choose “Confirm with a passkey”, or enter the code from the app if you have set that up too. - The same applies to the link from the Shopify app: after the link, the portal asks for the passkey. ## What to know - A passkey is tied to the portal’s address. Your browser does not use it on any other site, not even one that looks identical. A passkey does not protect against malware on your device. - Passkeys need a secure connection and an up-to-date browser. A security key without a PIN cannot be added, because the passkey is also meant to sign you in without a password. - Up to ten passkeys per account. The list shows when each one was created and last used. - A passkey that leaves another passkey or the app in place is removed after a confirmation on the page. If it is your last second step, you need your password and this passkey or a recovery code, just as when switching off the app. - A removed passkey stays in your password manager until you delete it there. It no longer signs you in to Metrunio. - A new password set through “Forgot your password?” does not remove any passkeys. If a device is gone, remove its passkey in the settings and end all sessions with “Sign out everywhere”. - Adding and removing are recorded in the change log of every tenant you belong to, and its admins see it. - What we store about a passkey, who else receives it and when we delete it is described in the privacy policy under “Signing in with passkeys”. > **Note:** An account without a password, for example one that signs in with a company account or comes from the Shopify app, adds a passkey within fifteen minutes of signing in. The demo guest account and platform administration accounts have no passkeys. ## Also asked - What is a passkey? - Set up a passkey - Sign in without a password - Sign in with my fingerprint - Face ID or Windows Hello for Metrunio - Use a security key - Remove a passkey - Passkey as a second factor ## Related - https://bench.metrunio.com/en/help/zwei-faktor - https://bench.metrunio.com/en/help/wiederherstellungscodes - https://bench.metrunio.com/en/help/passwort-und-anmeldung - https://bench.metrunio.com/en/help/audit-log --- --- slug: audit-log title: "Who changed what?" category: konto locale: en updated: 2026-10-12 keywords: ["change log","audit log","log","changes","traceability"] questions: ["How do I check who changed a setting?","Audit log","Who rotated the key?","Traceability","Who switched off two-factor authentication?","Who suspended the access?","How long is the change log kept?"] url: https://bench.metrunio.com/en/help/audit-log --- # Who changed what? **How do I check who changed a setting?** The change log records changes with person, time and action, plus the security of user accounts, for example who switched off two-step verification or suspended someone’s access. It is visible to the Admin role; each entry is kept for 180 days. - Changes to websites, keys, campaigns, settings and users. - The security of user accounts: two-step verification on and off, suspension and reinstatement, requested and completed password resets. If a person belongs to several tenants, the event appears in each. - Privacy requests including their execution. - Support grants issued and ended. - Not in your tenant’s log are the reading of reports and failed sign-ins. - Each entry is kept for 180 days and deleted afterwards. The log contains people and times; keeping it indefinitely would be more than the record needs. In the portal it sits under “Change log”, in the “More administration” group. Every row names the time, the action, the person and, where one was given, the reason; if an event concerns a person, “Affects” names them. Support access to your account is marked as such. A password reset link is sent by the system, so it appears under “System”: anyone who knows the address can request one. > **Note:** For agencies the log is useful in the client relationship too: it answers who changed a setting without anyone having to remember. ## Also asked - Audit log - Who rotated the key? - Traceability - Who switched off two-factor authentication? - Who suspended the access? - How long is the change log kept? ## Related - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/support-zugriff - https://bench.metrunio.com/en/help/betroffenenrechte --- --- slug: e-mails-und-newsletter title: "Which emails does Metrunio send, and how do I stop them?" category: konto locale: en updated: 2026-10-17 keywords: ["email","newsletter","unsubscribe","notification","getting started","agency"] questions: ["I would like fewer emails. Which ones are there, and what can I unsubscribe from?","How do I unsubscribe from the newsletter?","Why am I getting emails from Metrunio?","Can I switch off the getting-started emails?","How do I unsubscribe from the weekly report?","Which period does the weekly report cover?","Why does the weekly report show different figures from the portal?","Does the weekly report compare with the previous week?","Can I unsubscribe from the report just for myself?","Who on my team receives these emails?","Will I get advertising?","Which address do the emails come from?","The confirmation email never arrived.","Can I unsubscribe from the allowance emails?","Why do I get an email that my Meta access is expiring?","Am I subscribed once I have clicked the link?","Is the newsletter available in Spanish or French?","Why do I get an email about my clients on Mondays?","How do I unsubscribe from the weekly client email?","How do I unsubscribe from the monthly report about my clients?","Where do the numbers in the end-of-trial email come from?","How do I switch on the weekly report?","What does the weekly report link in the email do?","Why does the end-of-trial email recommend a plan?"] url: https://bench.metrunio.com/en/help/e-mails-und-newsletter --- # Which emails does Metrunio send, and how do I stop them? **I would like fewer emails. Which ones are there, and what can I unsubscribe from?** There are five kinds: operational messages (invitation, password, invoice, event allowance notices and the end of the trial), the weekly or monthly report, getting-started notes during the first few weeks, for agencies two emails about their clients (the weekly email about clients with open items and the monthly report as a PDF), and the newsletter. The first kind cannot be unsubscribed from, because without it access or billing does not work. You unsubscribe yourself from the report, the getting-started notes and the two client emails under “Settings → Notifications → Your emails”; with the Admin role you can also switch the report and the notes off for everyone there. You unsubscribe from the newsletter through the link in every issue. ## Operational - Email confirmation, invitation, password reset. - Invoices and payment notices. - The three messages about the end of the trial: a week before, the day before, and when it is over. They go to everyone with the Admin or Analysis role. Before the list of what changes, they show your own numbers from the trial, each labelled as measured or attributed: measured orders or leads, the share of advertising that was seen, campaigns with ad costs and your event usage. They also name the cheapest plan for that usage and the features you used, with its monthly net amount, and the plan you picked when you signed up. If a number is missing, so is the sentence; nothing is projected. - Event allowance notices: a note at 80, a warning at 95 and a message at 100 per cent. On the paid plans that message says overage applies from now on; on the free plan, that further events are rejected until the end of the month. At most one per threshold and month. - Security-relevant notices about the account. - The notice that your custom measurement domain is live, and the warning when its certificate is at risk. - Notices about expiring access to an ad platform: 14 days before and on the day it expires, to everyone with the Admin role, one per access and stage. Only if the platform names an expiry date. For an agency’s clients, the notice is in the agency’s weekly email instead. These go to the person concerned or to the account’s admins. They cannot be unsubscribed from: an invoice nobody receives is not a relief. ## Getting-started notes During the first few weeks we send a small number of messages tied to where you actually stand: a reminder if no website has been added after one day, one if the website has not sent a signal after two days, a note on the first signal, one on the first attributed conversion and one after the first measured week. Each comes at most once. They hang on events in your data rather than on a calendar; anyone who moves through quickly gets no reminder. The recipients are the people with the Admin or Analysis role. Each of them can unsubscribe from the notes for themselves under “Settings → Notifications → Your emails”. With the Admin role you can also switch them off for everyone there. Every one of these emails names the way there at the end. The milestones under “Data status” are unaffected: what you unsubscribe from is the messages, not the milestones. ## Weekly or monthly report The report exists once an admin has switched it on under “Settings → Notifications”: weekly on Mondays or monthly on the first. It goes to everyone with the Admin or Analysis role. You unsubscribe just yourself under “Your emails”; the others keep receiving it. This applies per company: if you are a member of several, you decide in each one separately. The report is off by default. The getting-started email after the first measured week offers it while it is off: its link opens the settings and switches the weekly report on after you sign in, if you have the Admin role. If a report is already running, the link changes nothing, not even from monthly to weekly. The weekly report covers the seven full days up to yesterday, the monthly report the last complete calendar month, both in your account’s time zone. Conversions and ad spend cover the same days. If you choose the same days in the portal, you see the same figures. If a report arrives a day late because of the daily sending limit, the week is again the seven days up to yesterday; the monthly report stays with the past month. Next to every measured and every attributed figure you see the value of the previous week or month and the change in per cent, followed by the channel whose attributed conversions moved most. If the previous period is not fully within the measured period, for example in the first weeks, the comparison is left out and the report says so. If a value is missing, such as ROAS without ad spend, its comparison is missing too. ## Weekly email about your clients (agencies) If your agency looks after client accounts, its admins get an email on Mondays listing all clients with something open: one line per client with the reason, such as a failed cost import or an ad account in test mode. If all clients are in order, none is sent. Measurement and ad accounts appear only for clients you are a member of. You unsubscribe yourself under “Your emails”; there is no switch for everyone. What the email sums up is explained under “How do I see all clients at a glance?”. ## Monthly report about your clients (agencies) If your agency looks after client accounts, its admins receive the monthly report as a PDF for each client on the 2nd of each month, but only for clients they are members of themselves. You unsubscribe yourself under “Your emails”; there is no switch for everyone. What the report contains is explained under “How do I give my client a monthly report as a PDF?”. ## Newsletter The newsletter is independent of an account and is only sent after explicit confirmation (double opt-in): after signing up, an email with a link goes out. The link opens a page, and only the click on “Yes, subscribe me” there confirms the subscription. Opening the link alone does not, because some mailboxes open links on their own. The page then says “Subscription confirmed”. You can unsubscribe via the link in every issue. It leads to our unsubscribe page, in the language you signed up in; one click is enough, and you do not need an account. The unsubscription takes effect immediately, and the next issue no longer goes to you. You can sign up on all four language versions of the website; the confirmation email and pages come in the language of the sign-up. The issues themselves appear in German and English. If you sign up in Spanish or French you get the English one, and the confirmation email says so. ## Senders - `no-reply@metrunio.com`: operational messages, getting-started notes and the confirmation of your newsletter sign-up. - `support@metrunio.com`: replies to your support requests. - `newsletter@news.metrunio.com`: the newsletter issues. Replies go to support. The newsletter deliberately comes from a domain of its own: if someone reports it as advertising, that does not affect the delivery of invoices and password emails. Since 12 October 2026 the sign-up confirmation email goes out through Google Workspace like our other messages, without a tracking pixel and without redirected links; the confirmation link leads straight to our website. If your company filters incoming mail, allow all three addresses. Otherwise the confirmation email ends up in spam and the subscription stays pending. > **Legal note:** The getting-started notes are meant to help you set up and use your account; we classify them as service information accompanying the contract. We keep necessary service information and advertising apart. We send advertising messages only where the requirements for doing so are met, and you can object to any use of your address for advertising at any time, for example with a short message to privacy@metrunio.com. ## Also asked - How do I unsubscribe from the newsletter? - Why am I getting emails from Metrunio? - Can I switch off the getting-started emails? - How do I unsubscribe from the weekly report? - Which period does the weekly report cover? - Why does the weekly report show different figures from the portal? - Does the weekly report compare with the previous week? - Can I unsubscribe from the report just for myself? - Who on my team receives these emails? - Will I get advertising? - Which address do the emails come from? - The confirmation email never arrived. - Can I unsubscribe from the allowance emails? - Why do I get an email that my Meta access is expiring? - Am I subscribed once I have clicked the link? - Is the newsletter available in Spanish or French? - Why do I get an email about my clients on Mondays? - How do I unsubscribe from the weekly client email? - How do I unsubscribe from the monthly report about my clients? - Where do the numbers in the end-of-trial email come from? - How do I switch on the weekly report? - What does the weekly report link in the email do? - Why does the end-of-trial email recommend a plan? ## Related - https://bench.metrunio.com/en/help/fortschritt-und-meilensteine - https://bench.metrunio.com/en/help/support-erreichen - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/kundenuebersicht - https://bench.metrunio.com/en/help/monatsbericht-fuer-kunden --- --- slug: empfehlen title: "Can I recommend Metrunio to others?" category: konto locale: en updated: 2026-10-17 keywords: ["referral","partner","commission","agency","recommend"] questions: ["I would like to recommend Metrunio. Do I get anything for it?","Do you have a partner programme?","Do I get a commission?","How much is the partner commission?","How does the referral link work?","Are there terms for agencies?","Where do I see how many I referred?","Do I keep getting commission after termination?","What happens if my customer did not use the referral link?","Can a referral be attributed afterwards?","Does the referral link work together with an invitation code?"] url: https://bench.metrunio.com/en/help/empfehlen --- # Can I recommend Metrunio to others? **I would like to recommend Metrunio. Do I get anything for it?** Yes, write to us and we will give you a link with a code in it; anyone creating an account through it is attributed to you. Once the company you referred has spent three consecutive months on a paid plan, we automatically credit you one monthly rate of their plan, at most one of your own. If you pay through Shopify yourself, there is no credit. The link looks like `…/register?ref=YOUR-CODE`. Anyone creating an account through it is attributed to you. The code does not have to be typed in; anyone without one simply registers as normal. ## If the link got lost If the company came another way, say the next day via the home page or through the Shopify app, let us know within 30 days of its sign-up and give us your code. We will then attribute it to you afterwards, once per company and with the same exclusions as at sign-up. After 30 days this is no longer possible, and a company already attributed to someone else stays there. While accounts can only be created with an invitation code, the invitation and your code go in the same link: `…/register?invite=INVITATION&ref=YOUR-CODE`. Both are read together. ## What is counted - Registered: an account was created. - Qualified: the referred company has spent three consecutive months on a paid plan. Only then is there a credit. Only the second figure means anything. The first could be produced by creating accounts, and a programme that pays for it gets exactly that. > **Note:** The credit is a balance on your customer account with the payment provider; it settles against your next invoice by itself. If you pay through Shopify yourself, we credit nothing: Shopify bills the plan on your Shopify invoice, and there is no balance there we could book. The referral still counts. The conditions in detail are under “What do I get for referring someone?”. ## Partner programme for agencies and consultants without a customer account If you are not a customer yourself but recommend Metrunio professionally, for instance as an SEO agency, a consultant or with a podcast, you receive a commission instead of the credit. It requires a partner agreement, and you are a business or self-employed. - 20 % of the paid net revenue in the first 12 months from the referred company’s first paid invoice, then 10 % up to month 36. - Calculated on the base price and overage, excluding VAT. If the company pays through a shop system such as Shopify, we first deduct the fee it actually retains; with Shopify, that includes the revenue share once our app’s lifetime revenue passes one million US dollars. Shopify’s statement arrives later, so we start with a provisional rate and reconcile against it each quarter. Any difference, either way, appears on the next credit note. - Settled each quarter by self-billed credit note, with no minimum amount. Refunds the customer is entitled to and chargebacks (a returned direct debit, for instance) are offset against the next credit note. If that leaves a negative amount, we carry it forward to the following one. A goodwill refund, or one because we failed to deliver, costs you no commission. - The agency plan is excluded, as are companies that already had a Metrunio account in the twelve months before registering. - If the partner agreement ends, even through termination on our side, commission on the customers you referred legitimately continues up to month 36. Only attributions based on a breach of the advertising rules are dropped. - If you suspect an error in a statement, you can ask for a review. You then receive a breakdown in which each customer appears only under a reference; we do not disclose names. You can get in touch through “Request a call” with the type “Become a partner” or directly on the /partners page of the website. > **Legal note:** Whether you have to disclose or pay tax on a credit for a referral depends on your country and your role. What appears on the invoice is binding. ## Also asked - Do you have a partner programme? - Do I get a commission? - How much is the partner commission? - How does the referral link work? - Are there terms for agencies? - Where do I see how many I referred? - Do I keep getting commission after termination? - What happens if my customer did not use the referral link? - Can a referral be attributed afterwards? - Does the referral link work together with an invitation code? ## Related - https://bench.metrunio.com/en/help/empfehlungen - https://bench.metrunio.com/en/help/support-erreichen - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/e-mails-und-newsletter --- --- slug: bezahlen-und-rechnungen title: "How do I pay, and where are my invoices?" category: konto locale: en updated: 2026-10-17 keywords: ["payment","invoice","invoice language","plan","cancellation","cancel","subscription","payment method","VAT","Shopify","Shopify App Pricing"] questions: ["How do I purchase a plan, switch it, and where do I find invoices?","Where do I find my invoice?","How do I change the credit card?","How do I cancel?","How do I cancel my subscription?","Cancel subscription","Can I pay by bank transfer?","What happens if a payment fails?","Do I need a VAT ID?","Can I pay through Shopify?","Where do I cancel if I pay through Shopify?","Do I have to give a reason when I cancel?","What happens to my data if I uninstall the Shopify app?","How is overage billed through Shopify?","Why can I not purchase a plan in the portal?","I am paying twice, through Stripe and through Shopify","Can I pay yearly?","What is the difference between cancelling and closing my account?","How do I close my account?","Delete my account","How do I delete my account?","What happens to my data after cancelling?","Change billing address","How do I change the billing address?","How do I get invoices after closing my account?","Invoice in English","Can I get my invoice in English?","Which language does the invoice come in?","How do I change the invoice language?","Are invoices available in Spanish or French?"] url: https://bench.metrunio.com/en/help/bezahlen-und-rechnungen --- # How do I pay, and where are my invoices? **How do I purchase a plan, switch it, and where do I find invoices?** In the portal under “Plan & usage”: there you book and switch plans, choose monthly or yearly payment and reach invoices, payment methods and, when paying monthly, cancellation at the payment provider. Paid monthly there is no minimum term, and yearly payment commits you for twelve months; cancelling means moving to the free Start plan, and closing your account is a separate step. Through the Shopify app you can pay in Shopify instead. ## Purchasing or switching a plan Under “Plan & usage” you choose the plan and are taken to the payment page. After paying it can take a moment for the new state to appear in the portal: we take it from the payment provider’s confirmation, not from the redirect. Please do not pay a second time in the meantime. A plan choice you brought from the pricing page when signing up books nothing; booking happens here. When booking you choose whether to pay monthly or yearly. Paid monthly, you can cancel at the end of any billing month, with no minimum term. Paid yearly, twelve months cost as much as ten, due once in advance; in return you commit for those twelve months, after which the contract continues monthly. Moving up is possible at any time; moving down takes effect at the end of the twelve months when paying yearly. When paying yearly you move up yourself under “Plan & usage”; moving down and cancelling then go through support, because the payment provider’s page does not allow them while the term is running. When you cancel, the payment provider asks why you are leaving: too expensive, missing features, too complex, not used, switched to another service, or other with a sentence of your own. Answering is optional, and you can cancel without it. No counter-offer follows. What you tell us shows up with your account, and we learn from it what is missing. ## Invoices in German or English Invoices come in German and English, set for the whole account under “Plan & usage”, field “Invoice language”. The default is the language in which the person who purchases first uses the portal. If they use it in Spanish or French, it is English. The payment provider sends invoices, receipts and the related emails in this language, and the items we put on the invoice are written in it: overage, additional client accounts and the credit for a referral. Anyone who may purchase can change it. - A change applies from the next invoice. Invoices already issued keep their language. - An item that was created earlier but only reaches an invoice later keeps its description in the language of that time. - Plan names are the same on German and English invoices. Start, Pro, Growth and Scale carry those names in both languages; the agency plan appears as “Agentur / Agency”. - If you pay through Shopify, Shopify issues the invoice and this setting does not apply to it. An agency’s client account does not receive invoices of its own. ## Paying through Shopify If you connected your store through the Metrunio app, you can also choose your plan in Shopify: in the app, “Choose plan” opens the plan selection in your Shopify admin. Shopify then charges the amount on your Shopify bill, and Metrunio applies the plan as soon as the app reports the subscription. “Plan & usage” then shows “Billed through Shopify” with the plan and renewal date; the Stripe checkout is hidden. You switch and cancel in Shopify. - Above the quota, measurement continues and is billed: €3 per started 10,000 events; a plan never costs more than the next plan up would cost at the same volume. Shopify charges the amount on your Shopify bill. From 80 per cent the portal points out that a larger plan is usually cheaper. - For the overage to be reported, the Metrunio app must stay installed. It reports it once a day on its own and also whenever you open its overview in Shopify; nothing is charged twice. - An agency plan with a surcharge per client account is not available through Shopify. - If Shopify freezes the subscription because your store’s bill is outstanding, measurement continues. - If you cancel, your plan expires or you uninstall the app, the free plan “Start” applies. Uninstalling counts as cancelling and does not close your account. Nothing is locked: you can still view your data, and quota and retention are those of the free plan, that is 90 days. If a longer retention is set, it drops only 30 days after we announce it; after that we delete anything older. Choose a plan in Shopify again and it applies immediately. - If you already pay through Stripe, you can stay with it. Switching is not required. > **Caution:** If a Stripe subscription and a Shopify subscription run at the same time, you pay twice. The higher of the two plans applies, and the portal shows a warning. Cancel one of them: the Stripe subscription under “Invoices and payment details”, the Shopify subscription in your Shopify admin. > **Note:** If Shopify reports a plan name that Metrunio has not yet mapped to a plan, your previous plan stays in place and the portal tells you so. We do not guess a plan. If the notice is still there after one working day, contact support. ## When a payment fails - You receive a payment reminder with a date, and a note appears on every page of the portal. For 14 days everything continues unchanged. An expired card is not a refusal to pay. - If it is not paid by then, we lock access. You can still sign in, pay and export, and measurement continues for 30 days from the lock. - If the payment is still outstanding 60 days after the lock, we terminate the contract, announced 14 days in advance. “What happens when a payment is outstanding?” explains the whole process. > **Caution:** As soon as the payment arrives, access returns immediately and your data is complete. What was not measured after the 30 days of measurement during the lock cannot be caught up, however. Missing measurement time is the one loss we cannot undo. ## Cancelling If you cancel a paid plan, your account moves to the free Start plan at the end of the paid period. Your account and data stay within the limits of Start: 90 days of retention, one website and one person active, additional users and websites paused until a plan covers them again. Nothing is locked, and you can book again at any time. ## Closing your account Closing your account is a separate step, apart from cancelling, and ends the contract. After it you can still read and export your data for 30 days. After that it is deleted: measurement data, campaigns, settings, the log, and the accounts that belong to no other tenant. The deletion reaches the analytics mirror as well. What remains are our own accounting records: invoices fall under statutory retention and are not part of the data we process on your behalf. A brief record of who accepted which version of the terms and the data processing agreement for your company, and when, also remains, together with the confirmation we sent you. It is kept as a rule for six years after the year of conclusion (retention of business letters under § 257 of the German Commercial Code, HGB), and at least until the end of the third calendar year after the contract ends. Then we delete it automatically, unless it is needed for pending litigation. > **Note:** You close it in the settings, card “Close account” at the very bottom. You need the Admin role, and you confirm with the account’s name. From then on nothing is measured; you can still read and export for 30 days, but not change anything. The account can only be closed once no paid subscription is running (at the payment provider or through Shopify) and no client accounts are attached to it. The portal says what is missing. Invoices after closing: during the 30 days, “Invoices and payment details” under “Plan & usage” stays open for the Admin role. Download what you need there. After that the account is deleted, but we keep the invoices as our own records. If you need a copy later, write to support. ## VAT At checkout we collect your billing address and, if you have one, your VAT ID. For businesses in the EU outside Germany the reverse-charge procedure then applies; German customers pay the statutory rate. Without a complete address no invoice can be created; we will get in touch in that case. You change the billing address, VAT ID, billing email and company name under “Plan & usage” with “Invoices and payment details”, on the payment provider’s page. The Admin role may do this. The change applies from the next invoice; invoices already issued stay as they are. > **Legal note:** The tax treatment depends on your location and legal form. What appears on the invoice is binding. ## Also asked - Where do I find my invoice? - How do I change the credit card? - How do I cancel? - How do I cancel my subscription? - Cancel subscription - Can I pay by bank transfer? - What happens if a payment fails? - Do I need a VAT ID? - Can I pay through Shopify? - Where do I cancel if I pay through Shopify? - Do I have to give a reason when I cancel? - What happens to my data if I uninstall the Shopify app? - How is overage billed through Shopify? - Why can I not purchase a plan in the portal? - I am paying twice, through Stripe and through Shopify - Can I pay yearly? - What is the difference between cancelling and closing my account? - How do I close my account? - Delete my account - How do I delete my account? - What happens to my data after cancelling? - Change billing address - How do I change the billing address? - How do I get invoices after closing my account? - Invoice in English - Can I get my invoice in English? - Which language does the invoice come in? - How do I change the invoice language? - Are invoices available in Spanish or French? ## Related - https://bench.metrunio.com/en/help/zahlungsverzug - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/eventkontingent - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/e-mails-und-newsletter - https://bench.metrunio.com/en/help/aufbewahrung - https://bench.metrunio.com/en/help/sprachen --- --- slug: zahlungsverzug title: "What happens when a payment is outstanding?" category: konto locale: en updated: 2026-10-13 keywords: ["payment","reminder","lock","overdue","charge","credit card","termination","export"] questions: ["What happens if a charge fails and I do not pay?","What happens if a payment fails?","What do I do if my account is locked?","Why is my access locked?","How do I lift the lock?","I received a payment reminder","My card has expired","How long is data measured after a lock?","When will my account be terminated for non-payment?","Can I export my data while my account is locked?","Why can I no longer open my reports?","My account is billed through an agency and is locked"] url: https://bench.metrunio.com/en/help/zahlungsverzug --- # What happens when a payment is outstanding? **What happens if a charge fails and I do not pay?** If a charge fails, you receive a payment reminder with a date, and everything continues for 14 days. If it is not paid by then, we lock access: signing in, paying and exporting still work, and measurement continues for 30 days from the lock. If the payment is still outstanding 60 days after the lock, we terminate the contract (announced 14 days in advance), after which you have 30 days to export. ## The process | When | What happens | | --- | --- | | Day 0 | The charge fails. You receive an email with the date by which you should pay, and every page of the portal shows a note with “Update payment details”. Access and measurement continue unchanged; the payment provider retries the charge during this time. | | Day 14 | The deadline has passed: we lock access and tell you by email. You can still sign in and land on the “Account locked” page. There you pay the open invoice, change your payment details or download your data. Reports, chat and all other pages are locked. | | 30 days after the lock | Until then we keep measuring, so that no gap remains in your data once you have paid. After that we no longer accept events. | | 46 days after the lock | We announce by email that we will terminate the contract 14 days later. | | 60 days after the lock | We terminate the contract for good cause and end the subscription. You can then still read and export your data for 30 days; after that it is deleted, just as after “Close account”. | Every date appears in the email and in the portal. If the announcement went out later than day 46, the termination moves accordingly: there are always at least 14 days between announcement and termination. ## Paying lifts the lock immediately As soon as the payment arrives, access returns and all deadlines are reset. There is nothing to set up again. After paying it can take a moment until the portal shows the new state. Reload the page then. If the payment provider has already ended the subscription because of the missing payment, paying the open invoice lifts the lock as well; your account then continues on the free Start plan, and you can book again. ## Who can pay Your account’s admins can pay and change payment details. Everyone else sees on the lock page that they should contact them; their data is kept. The read API and MCP access do not answer during the lock. If your account is billed through an agency, it follows the agency’s lock with the same deadlines (reports locked, export available); only the agency can pay then, and when its contract is terminated, your account ends too. > **Note:** If you pay through Shopify, this process does not apply: if Shopify freezes your subscription because your store’s bill is outstanding, measurement continues. And a lock that Metrunio imposed for another reason is not lifted by a payment. Support can help then. > **Legal note:** The lock and the termination for good cause are based on our terms in the version you agreed to; their wording is binding. A termination does not affect the open invoice. ## Also asked - What happens if a payment fails? - What do I do if my account is locked? - Why is my access locked? - How do I lift the lock? - I received a payment reminder - My card has expired - How long is data measured after a lock? - When will my account be terminated for non-payment? - Can I export my data while my account is locked? - Why can I no longer open my reports? - My account is billed through an agency and is locked ## Related - https://bench.metrunio.com/en/help/bezahlen-und-rechnungen - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/rollen-und-rechte - https://bench.metrunio.com/en/help/support-erreichen --- --- slug: sprachen title: "Which languages does Metrunio support?" category: konto locale: en updated: 2026-10-05 keywords: ["language","Spanish","French","English","multilingual","translation","weekly report","alert","invoice","invoice language","address","link","URL"] questions: ["Can I use the portal in Spanish or French?","Is Metrunio available in Spanish?","Is the portal available in French?","How do I change the language?","Which languages do you support?","Why is the help article in English?","Can each user pick their own language?","Why does the address change when I switch language?","Does my old link still work?","Why does the address say pricing and not preise?","Which language do the emails come in?","Which language does the weekly report come in?","Can I get the alerts in English?","Is the help available in Spanish or French?","Does the chat answer in Spanish or French?","Invoice in English","Which language does the invoice come in?","Are invoices available in Spanish or French?"] url: https://bench.metrunio.com/en/help/sprachen --- # Which languages does Metrunio support? **Can I use the portal in Spanish or French?** The website and the customer portal are fully available in German, English, Spanish and French, including number and date formats. Help articles, emails and invoices, the weekly report and alerts included, exist in German and English. If you read Spanish or French, you get them in English, help and emails with a note in your language. The language picker sits in the top right of every page, on the website and in the portal. It applies per login, not per tenant: one person on a team can work in French and the next in German without getting in each other's way. The exception is the invoice: it has one language for the whole account. | Area | Languages | | --- | --- | | Website | German, English, Spanish, French | | Customer portal | German, English, Spanish, French | | API messages and error texts | German, English, Spanish, French | | Chat in the portal and on the website | German, English, Spanish, French | | Help articles | German, English; Spanish and French read English | | Emails sent by the system, weekly report and alerts included | German, English; Spanish and French read English | | Personal replies from support | German, English | | Invoices and receipts | German or English, one language per account; Spanish and French get English | | Terms and data processing agreement | German, English; in Spanish and French the German version | Emails Metrunio sends on its own go out in the language you last signed in with: about the end of the trial, the event allowance, the measurement domain, billing, the weekly report and the alerts. The texts exist in German and English; if you read Spanish or French you get the English version with a note in your language. Each person on a team gets their own language, so the same weekly report goes to one colleague in German and to another in English, CSV attachment included. If you switch the language in the portal, emails follow from your next sign-in. An invitation goes out in the language it was sent in, also when it is resent. Invoices have one language per account, not per person, because an invoice can only have one. You set it to German or English under “Plan & usage”. The default is the language in which the person who purchases first uses the portal; Spanish and French get English. The payment provider shows its payment page and the page with your invoices in the language of your interface, Spanish and French included. “How do I pay, and where are my invoices?” has the details. The chat in the portal and on the website answers in the language of the interface, Spanish and French included. Its sources are the help articles; in Spanish and French it relies on the English version and links to it. ## Why the help articles have two languages and the interface four An interface is made of short, repeating labels. A help article is technical prose: it explains attribution, consent and measurement limits, and a machine translation of that would not just read badly, it would be wrong in places. We would rather give you an English article with a note than a Spanish one you cannot rely on. German and English are maintained in full, from the interface to the report and the alert. Spanish and French remain interface languages; translating the help articles is not planned at present. Numbers and dates follow the chosen language as well: 1.234,56 in German, 1,234.56 in English, 1 234,56 in French. Files are the exception: in a CSV export and in the weekly report CSV, numbers use a full stop and no thousands separator in every language, so your spreadsheet reads them as numbers. ## Website addresses carry the language too Every language has its own addresses: the pricing page is at /de/preise in German, /en/pricing in English, /es/precios in Spanish and /fr/tarifs in French. Switch the language in the top right and you stay on the same page; the address changes with you. Older links keep working. Open /en/preise and you are permanently redirected to /en/pricing; a bookmark, a shared link or an address from an old email still gets you there. The identifier of a help article is the exception: it stays the same in every language. The same article sits at /de/hilfe/consent-grundsatz and at /en/help/consent-grundsatz. The path is translated, the identifier is not. So a link named by an error message in the product reads the same in every language. ## Also asked - Is Metrunio available in Spanish? - Is the portal available in French? - How do I change the language? - Which languages do you support? - Why is the help article in English? - Can each user pick their own language? - Why does the address change when I switch language? - Does my old link still work? - Why does the address say pricing and not preise? - Which language do the emails come in? - Which language does the weekly report come in? - Can I get the alerts in English? - Is the help available in Spanish or French? - Does the chat answer in Spanish or French? - Invoice in English - Which language does the invoice come in? - Are invoices available in Spanish or French? ## Related - https://bench.metrunio.com/en/help/nutzer-einladen - https://bench.metrunio.com/en/help/support-erreichen - https://bench.metrunio.com/en/help/roadmap-phase-2 - https://bench.metrunio.com/en/help/bezahlen-und-rechnungen --- --- slug: empfehlungen title: "What do I get for referring someone?" category: konto locale: en updated: 2026-10-13 keywords: ["referral","credit","reward","discount","code"] questions: ["Do I get anything for passing on a referral code?","Do I get paid for a referral?","When is a referral credited?","Does a sign-up already count as a referral?","What happens if the referred company cancels?","How many referrals can I collect?"] url: https://bench.metrunio.com/en/help/empfehlungen --- # What do I get for referring someone? **Do I get anything for passing on a referral code?** A credit on your next invoice. Once the company you referred has spent three consecutive months on a paid plan, Pro or above, we credit you one monthly rate of their plan, at most one of your own. The credit settles by itself; there is nothing to claim. What counts is not the sign-up, and not the first event either. Both are an intention. What counts is that somebody pays for three months and is still there afterwards. ## The conditions in three sentences - The referred company spends three consecutive months on a paid plan, Pro or above. The free trial does not count. - If they cancel in between and come back later, the clock starts again. - The credit is one monthly rate of the plan the referred company paid for during those three months, at most one monthly rate of your own plan. An example: you pay for Scale and bring a company that books Pro. We credit you €79. If you pay for Pro and bring a company that books Scale, it is €79 as well. There is no cap on referrals: bring three companies that stay, and you get three credits. > **Note:** The three months are deliberate: they reduce credits for accounts that are unwound again shortly afterwards. Crediting somebody who cancels the following month would be a loss on both sides, and we would have to claw it back. Statutory and contractual repayment claims are not affected. If you are on the free “Start” plan yourself, there is nothing to credit: one month of zero is zero. The referral stays counted and is credited once you move to a paid plan. If you pay through Shopify yourself, we credit nothing: Shopify bills your plan on your Shopify invoice, and there is no balance there we could book. The referral still counts. Whether the referred company pays through Shopify or in the portal makes no difference. ## Also asked - Do I get paid for a referral? - When is a referral credited? - Does a sign-up already count as a referral? - What happens if the referred company cancels? - How many referrals can I collect? ## Related - https://bench.metrunio.com/en/help/empfehlen - https://bench.metrunio.com/en/help/tarife - https://bench.metrunio.com/en/help/shopify-app - https://bench.metrunio.com/en/help/support-erreichen --- --- slug: monatsbericht-fuer-kunden title: "How do I give my client a monthly report as a PDF?" category: konto locale: en updated: 2026-10-16 keywords: ["monthly report","PDF","report","agency","logo","client","white label"] questions: ["Is there a monthly report as a PDF that I can pass on to my client?","Send the monthly report to the client","Recipient unsubscribed, add again","Privacy notice for report recipients","Monthly report for clients","Download a client report as PDF","Report with my agency’s logo","White-label report for clients","Monthly report by email automatically","Where do I upload our agency logo?","Why is there no ROAS in the report?","Which language is the report in?","When does the first monthly report arrive?"] url: https://bench.metrunio.com/en/help/monatsbericht-fuer-kunden --- # How do I give my client a monthly report as a PDF? **Is there a monthly report as a PDF that I can pass on to my client?** Under “Clients”, every client account has a monthly report as a PDF: key figures, channels and campaigns for one calendar month, with your agency’s name and logo in the header and “Measured with Metrunio” in the footer. On the 2nd of each month it is also sent as an attachment to your agency’s admins who are members of the client account themselves. In the client overview, “Monthly report” in each client’s row leads to the preview. There you choose a completed calendar month and download the PDF. The preview shows exactly the text that is in the PDF. ## What the report contains - Revenue and conversions, measured: what came in during the month, revenue after refunds. - Revenue and ROAS, attributed: distributed with the client’s default model. ROAS is attributed revenue divided by ad spend, a ratio and not a profit. - Ad spend from cost retrieval and import, converted into the client’s currency. - Orders from new customers, if the shop sends this or the measurement can derive it. - For each figure, the previous month, if it was fully measured. - The largest channels and campaigns by attributed revenue. - Sentences that describe the figures. They come from fixed templates, not from a language model, and they do not judge. The figures come from the same queries as the client’s overview, for the calendar month in the client’s time zone. If you choose the same period in the portal, you see the same figures. If a figure is missing, the report says why. Without ad spend there is no ROAS, but a sentence saying that the costs are missing. If cost retrieval from an ad platform has not succeeded since the end of the month, the costs of the last days are missing. Sending then waits until the 5th and names the gap in the report instead of showing a ROAS that is too high. ## Logo and language As an admin of your agency, you upload the logo under “Settings → Company”: PNG or JPEG, up to 200 KB and 2,000 pixels on any side. The report does not take SVG, GIF or WebP. Without a logo, the header shows only your agency’s name. The footer always says “Measured with Metrunio”; there is no version of the report without Metrunio. You choose the language for each client on the report page: German, English, Spanish or French. Without a choice, your agency’s invoice language applies, otherwise German. ## Sending by email On the 2nd of each month, in the client’s time zone, the report on the previous month goes out as a PDF to your agency’s admins who are members of the client account themselves. Anyone who does not want it switches it off for themselves under “Settings → Notifications → Your emails”. The first report covers the first month in which the client was measured, even if only part of that month; none goes out for the months before. - A client’s figures are visible only to people who are members of its client account. That applies to the preview, the PDF and the email. - The report goes to people at the client only where the card “Recipients at the client” appears on the report page. If it is missing, the feature has not been enabled for your account yet; pass the PDF on yourself. - Names with characters outside Western European scripts appear simplified in the PDF, for example “Łódź” as “Lódz”. ## Recipients at the client On the report page you add up to ten people per client, for example the shop’s management. First you set who is responsible for this sending, your agency or your client, and add the link to their privacy notice. Without this link nobody can be added, and no report goes to recipients at the client. - Each email names the controller, that your agency added the address and why, and links to their privacy notice and to Metrunio’s section on it. It contains no tracking pixel and no tracked links. - Each email carries an unsubscribe link, also in the email header for one-click unsubscribing. Afterwards we delete the address and the name; only a checksum of the address remains for this client so that nobody adds it again. It does not apply to your other clients. - The block ends with its purpose: when the client account is deleted, your agency no longer manages it or the feature has been switched off for your agency for 30 days. The recipients and the link to the privacy notice then go too; the report language stays. - You cannot add an unsubscribed address again yourself. You can send the person an invitation, at most one in 30 days. Only once they confirm the link in it will they receive the report again. If they do not confirm within seven days, the invitation expires and we delete the address again. - The limit of ten counts only active recipients; unsubscribes do not take up a place. > **Legal note:** Whoever chooses the recipients decides who receives the figures. Only add addresses you are allowed to share this client’s figures with, and add the notice of whoever is responsible for it. If your agency works on the client’s behalf, that is usually the client. This is a general assessment and does not replace a review of your contract with the client. ## Also asked - Send the monthly report to the client - Recipient unsubscribed, add again - Privacy notice for report recipients - Monthly report for clients - Download a client report as PDF - Report with my agency’s logo - White-label report for clients - Monthly report by email automatically - Where do I upload our agency logo? - Why is there no ROAS in the report? - Which language is the report in? - When does the first monthly report arrive? ## Related - https://bench.metrunio.com/en/help/kundenuebersicht - https://bench.metrunio.com/en/help/mehrere-mandanten - https://bench.metrunio.com/en/help/e-mails-und-newsletter - https://bench.metrunio.com/en/help/gemessen-zugeordnet-geschaetzt --- --- slug: was-metrunio-nicht-tut title: "What does Metrunio deliberately not do?" category: grenzen locale: en updated: 2026-10-17 keywords: ["limits","not included","MMM","fingerprinting","ad server","scope"] questions: ["Which features are missing, and why?","What is Metrunio missing?","Can you do MMM?","Is there budget optimisation?","Do you have a cookie banner?","Is there session replay?","Are there heatmaps?"] url: https://bench.metrunio.com/en/help/was-metrunio-nicht-tut --- # What does Metrunio deliberately not do? **Which features are missing, and why?** No fingerprinting, no marketing mix modelling, no ad server and no consent management of its own. The scope is deliberately narrow: measure, connect, attribute; whatever else you need is done by a tool built for it. There are no extrapolated figures, and every figure says where it comes from, such as measured or attributed. - Probabilistic cross-device matching and browser fingerprinting. - Marketing mix modelling and AI-driven budget optimisation. - A full ad server, bidder or DMP. - Comprehensive billing, native mobile apps, TV and offline modelling. - Complex white labelling and a broad connector library. - A complete consent management system. Existing CMPs are connected instead. - Extrapolated figures without a signal. Every figure says where it comes from: measured; attributed by a model; a value you set yourself; self-reported by a customer; or reported by an ad platform. - A page funnel built from pages you define: web analytics shows landing and exit pages and the most common paths, but a funnel consists only of funnel steps your code reports. - Session recording (session replay), mouse movement, heatmaps and form input. What someone did during a visit is shown in a journey’s visit history, as the sequence of events your shop sends, not a recording of the screen. > **Note:** The principle behind it: where a signal is missing, we do not invent one. A conversion without a linkable contact stays visibly “unattributed”. > **Note:** One item used to stand here and no longer does: incrementality tests. Metrunio now evaluates experiments, the switchback trial from Growth and two campaign groups on the Scale and agency plans, and narrowly framed: two groups, one measured difference, one interval. A model that extrapolates effect from past weeks is still not what is meant. ## Also asked - What is Metrunio missing? - Can you do MMM? - Is there budget optimisation? - Do you have a cookie banner? - Is there session replay? - Are there heatmaps? ## Related - https://bench.metrunio.com/en/help/messgrenzen - https://bench.metrunio.com/en/help/vergleich-alternativen - https://bench.metrunio.com/en/help/was-ist-metrunio - https://bench.metrunio.com/en/help/funnel-schritte-messen - https://bench.metrunio.com/en/help/besuchsverlauf - https://bench.metrunio.com/en/help/webanalyse --- --- slug: messgrenzen title: "Where does measurement end?" category: grenzen locale: en updated: 2026-10-12 keywords: ["measurement limits","coverage","gaps","causality","completeness"] questions: ["What are the limits of Metrunio’s measurement?","What cannot be measured?","Limits of attribution","How complete is the data?"] url: https://bench.metrunio.com/en/help/messgrenzen --- # Where does measurement end? **What are the limits of Metrunio’s measurement?** Post-view is only measurable where your own tags may be served and the browser returns the view identifier: not every served ad is viewable, and not every viewable one can be linked to the purchase. Without consent, gaps arise deliberately, and a gap stays a gap, not a zero. Attribution describes assignment, not causal advertising effect. - Post-view is only measurable where your own impression or viewability tags can be served. Closed platforms do not allow that everywhere. - A served impression is not automatically viewable; only viewable impressions create post-view credits. - A viewable impression without a click only reaches the purchase through the view identifier. That is a cookie of the measurement address that Safari and Brave discard in third-party context and Firefox puts into a partition from which it never reaches the shop. The linkable share is measured and shown as post-view coverage; what the browser drops is not replaced. - Where signals are missing, no touchpoints are invented. Conversions stay visibly “unattributed”. - Attribution describes assignment, not causal advertising effect. To measure the effect you need an experiment. Metrunio has one, and it is kept separate from attribution. - Without consent, data gaps arise deliberately; coverage is shown in the portal. - No complete personal journey across every platform and device. - Funnel steps count per customer identifier. Without identify() a step counts per browser, so the same person on two devices counts twice. A funnel is built only from steps your code sends, not from page views. - When two identities merge, the earlier of two conversions of the same step is kept. A return that was already reported to an ad platform cannot be recalled. > **Note:** The stated coverage is itself a metric: it says how much of reality a number actually reflects. ## Also asked - What cannot be measured? - Limits of attribution - How complete is the data? ## Related - https://bench.metrunio.com/en/help/post-view-messung - https://bench.metrunio.com/en/help/post-view-verstehen - https://bench.metrunio.com/en/help/meta-google-messen - https://bench.metrunio.com/en/help/cross-device - https://bench.metrunio.com/en/help/experimente - https://bench.metrunio.com/en/help/funnel-schritte-messen --- --- slug: messen-ohne-einwilligung title: "Why does Metrunio not measure without consent?" category: grenzen locale: en updated: 2026-10-13 keywords: ["cookieless","consentless","consent-free","without cookie banner","without consent","consent","TDDDG","attribution rate","post-view coverage"] questions: ["Other tools advertise measurement without a cookie banner. Why does Metrunio not do that?","Can Metrunio measure without consent?","Is Metrunio cookieless?","Can I measure without a cookie banner?","Is there a consent-free mode?","Can I track without consent?","Other tools measure without consent. Why not you?","Is measuring without consent unlawful for other tools?"] url: https://bench.metrunio.com/en/help/messen-ohne-einwilligung --- # Why does Metrunio not measure without consent? **Other tools advertise measurement without a cookie banner. Why does Metrunio not do that?** Because Metrunio attributes orders to the advertising before them and has to recognise a browser over several days to do so: that only works with an identifier on the device, and in our cautious assessment Metrunio may create one only with consent. Without consent, Metrunio counts orders your server reports in revenue, with their order number and without browser, customer or advertising identifiers, but attributes them to no advertising; the attribution rate and post-view coverage show you how large that gap is. This is our product decision, not a verdict on other tools: whether one may measure without consent depends on what it measures. Tools that advertise measurement without consent mean different things by it: a count of page views without an identifier, an identifier that only exists on the server, or figures a model adds for the visitors without consent. Ask which of these is meant and on what legal basis. For Metrunio, the answer is here. ## When other tools measure without consent That is not unlawful from the outset. Whether a tool may measure without consent depends on what it does: whether it accesses the device, whether it recognises visits over several days and whether it attributes orders to advertising. A count without an identifier or an analysis carried out only on the server may be assessed differently from an identifier in the browser. Metrunio has chosen the cautious route because its attribution needs such an identifier. That is our product decision, not a verdict on other tools. ## Why attribution needs an identifier Metrunio links an order to the advertising before it: last week’s banner, yesterday evening’s click. To do so it has to recognise the same browser on several days, and that only works with something that sits on the device and is read again, such as an identifier in the browser’s storage or the view identifier for post-view. Recognising a device by its characteristics, so-called fingerprinting, is something Metrunio does not do. Without consent, Metrunio therefore creates no identifier, and without an identifier there is neither a journey nor an attribution. ## What still happens without consent - Orders and refunds your server reports without consent count towards revenue for reconciliation: with their order number, without browser, customer or advertising identifiers. They are not attributed, except via the checkout if you switch it on, and they appear as “unattributed” with the reason “No consent”. This lets you reconcile your measured revenue with the shop. After a refusal in the banner this only applies with an activated additional instruction for revenue reconciliation. - Without consent on the ad side, a tracking link still redirects and passes on only the campaign, no click ID. The visit then counts for the campaign without being linked to the click. - Nothing else from the browser is stored without consent, and the script sends nothing before a decision. ## Where you see the gap - The attribution rate in the overview: the share of orders and leads with a measured contact before them. Orders without consent count towards it and lower it. - Post-view coverage under “Channels & attribution”: how many of your viewable impressions are provably linkable to a visit to the shop, per channel and browser family. Without consent on the ad side or in the shop, no view identifier is created. - Under “Data status”, “Blocked by consent” counts what reached Metrunio without consent and was therefore not stored. Metrunio does not fill in missing contacts from a model. An order without consent stays “unattributed”, and the attribution rate tells you how much that amounts to. ## Reach before consent An anonymous count of page views before consent used to exist as a setting. It has been hidden since 29 September 2026: the script sends nothing before a decision, so the setting would no longer have measured anything. > **Legal note:** Section 25 TDDDG allows storing information on a device or reading it there, in principle, only with consent. The exception that could apply here covers only what is strictly necessary for a digital service the user has explicitly requested. In our assessment, an identifier that links advertising and orders does not fall under it. For a pure count of reach without access to the device there is a proposal (ADR 0008): a value the server forms from the address and browser details and discards daily. It is not built, and its legal assessment is still open; it could not attribute orders anyway, because the path to an order runs over several days. That orders without consent may count towards revenue for reconciliation rests on the legitimate interest in complete revenue figures. Other providers may assess their tools differently. This assessment does not replace legal advice. ## Also asked - Can Metrunio measure without consent? - Is Metrunio cookieless? - Can I measure without a cookie banner? - Is there a consent-free mode? - Can I track without consent? - Other tools measure without consent. Why not you? - Is measuring without consent unlawful for other tools? ## Related - https://bench.metrunio.com/en/help/consent-grundsatz - https://bench.metrunio.com/en/help/consent-vor-einwilligung - https://bench.metrunio.com/en/help/consent-serverseitig - https://bench.metrunio.com/en/help/zusatzweisung-umsatzabstimmung - https://bench.metrunio.com/en/help/messgrenzen - https://bench.metrunio.com/en/help/roas-und-kennzahlen --- --- slug: vergleich-alternativen title: "How does Metrunio relate to other tools?" category: grenzen locale: en updated: 2026-10-17 keywords: ["comparison","alternative","scope","tools","setup"] questions: ["Do I need Metrunio in addition to my existing setup?","Alternatives","Comparison with other tools","Does it replace our analytics?","Where do your statements about other vendors come from?","Triple Whale, Northbeam or Dreamdata"] url: https://bench.metrunio.com/en/help/vergleich-alternativen --- # How does Metrunio relate to other tools? **Do I need Metrunio in addition to my existing setup?** Web analytics is included: visits, pages, sources and time on site, counted for visitors with consent. Metrunio does not replace a CMP or an ad server; it measures clicks and viewed impressions itself and attributes them by disclosed rules. | Kind of tool | Answers | Metrunio adds | | --- | --- | --- | | Web analytics | behaviour on your own website | its own web analytics for visitors with consent, plus the advertising contacts before it, including viewability; without heatmaps, session recordings or funnels built from pages | | Platform reports | performance from the platform’s point of view | a source not owned by the platform | | Consent management | collecting and documenting consent | reads the state and follows it | | Ad server | delivery and booking | independent measurement of the same delivery | | Attribution tools (such as Triple Whale, Northbeam, Dreamdata) | assignment across channels | our own measurement of delivery and viewability; where no signal was measured, the conversion stays open rather than modelled | | Business intelligence | joining many sources | supplies conversions and journeys by CSV export and, from the Growth plan, also through the read API | ## Where our statements about other vendors come from About a vendor we name, we state only what that vendor’s own source states, not what a comparison site or a third-party post writes about them. Every statement carries the page it came from and the date we retrieved it. Once a retrieval is more than six months old, the statement counts as unsupported: it is not necessarily wrong, but we no longer know, so it is re-checked or removed. - Triple Whale: triplewhale.com/pixel and triplewhale.com/pricing, retrieved 2 and 1 September 2026 - Northbeam: docs.northbeam.io/docs/clicks-deterministic-views and northbeam.io/pricing, retrieved 2 and 1 September 2026 - Dreamdata: dreamdata.io/tracking, retrieved 3 September 2026, and dreamdata.io/pricing, retrieved 1 September 2026 The comparison page carries the same thing cell by cell: below the table, the page at the vendor itself with the date of retrieval. A claim without a vendor source is struck. > **Note:** If your only question is “which channel was the last click?”, your existing tools are often enough. The value appears where display, post-view and several platforms come together. ## Also asked - Alternatives - Comparison with other tools - Does it replace our analytics? - Where do your statements about other vendors come from? - Triple Whale, Northbeam or Dreamdata ## Related - https://bench.metrunio.com/en/help/unterschied-web-analytics - https://bench.metrunio.com/en/help/webanalyse - https://bench.metrunio.com/en/help/was-metrunio-nicht-tut - https://bench.metrunio.com/en/help/was-ist-metrunio --- --- slug: roadmap-phase-2 title: "How is Metrunio built technically?" category: grenzen locale: en updated: 2026-10-15 keywords: ["roadmap","architecture","limitations","BigQuery","PostgreSQL","technology"] questions: ["Which technical building blocks does Metrunio run on today?","Roadmap","What comes next?","BigQuery"] url: https://bench.metrunio.com/en/help/roadmap-phase-2 --- # How is Metrunio built technically? **Which technical building blocks does Metrunio run on today?** Data is stored and evaluated in PostgreSQL. A BigQuery analytics mirror runs for all accounts; reports are calculated from it once the data volume warrants it. We do not announce future features: what is listed here exists. | Topic | Today | | --- | --- | | Queue | PostgreSQL | | Analytics store | PostgreSQL; a BigQuery mirror runs for all accounts, and reports use it once data volumes are larger | | Authentication | own session management | | Bot detection | user-agent heuristic; there is no bot management | | Platform credentials | via sign-in for Google Ads and Meta, entered by the customer for TikTok, LinkedIn and Microsoft Advertising; stored encrypted | | GTM template | in the Tag Manager template gallery and as a file from setup | | Languages | Website and portal complete in German, English, Spanish and French; help articles, emails, weekly report and alerts in German and English, in Spanish and French as the English version | > **Note:** The BigQuery mirror runs for all accounts; reports only use it once the data volume warrants it. Until then PostgreSQL is simply faster, because no query crosses the network. One exception: if an account keeps raw data for longer than 180 days, its reports come from the mirror, because the measurement database keeps the raw rows of delivered ads for only 180 days. The customer journey list and the single journey stay in PostgreSQL either way: finding a single journey is a different job from summing over millions of rows. What comes next is decided by customer feedback. We do not publish a list with dates: an announced feature would be a promise that someone factors into their decision. ## Also asked - Roadmap - What comes next? - BigQuery ## Related - https://bench.metrunio.com/en/help/was-metrunio-nicht-tut - https://bench.metrunio.com/en/help/auftragsverarbeitung - https://bench.metrunio.com/en/help/tarife --- --- slug: stoerung-erkennen title: "How do I tell there is an incident?" category: grenzen locale: en updated: 2026-10-13 keywords: ["status","incident","availability","uptime","outage","SLA"] questions: ["Where do I see whether Metrunio is available, and how reliable is that figure?","Do you have a status page?","Is Metrunio down right now?","What is your availability?","How do you measure uptime?","Do you measure from outside or only internally?","Why are there two availability figures next to each other?","How do I know the figures are real?"] url: https://bench.metrunio.com/en/help/stoerung-erkennen --- # How do I tell there is an incident? **Where do I see whether Metrunio is available, and how reliable is that figure?** The status page at /status shows measured availability for four components over the last 90 days, calculated from samples. We measure twice: from the inside through our own processing, and from the outside through an independent service that calls our addresses from several parts of the world. Both figures sit side by side, along with since when we have been measuring and how many samples each is based on. ## What is measured - Event intake, the critical part. If it fails, measurement time is lost. - Processing and attribution, measured by the age of the oldest waiting event, not by whether the process is running. - Customer portal. - Read API. ## Measured twice, and why The large figure is measured from the inside: our own processing checks the other components every minute. If it fails too, no sample is written at all, not even an “unavailable” one. That is why we calculate against the expected number of samples, so a gap counts as downtime. Otherwise a total outage would look like a perfect week. The smaller figure below it is measured from the outside: an independent service calls our addresses at short intervals from several parts of the world. A minute counts as available only once the majority of locations got through. That way a network fault somewhere in the world does not become an outage at our end, while an outage stays one even if a single location still gets through. Neither replaces the other. The inside measurement sees the backlog in the queue, which no call from outside can detect. That is why “processing and attribution” carries no second figure. The outside measurement sees everything between you and our application: network, load balancing and certificate. > **Note:** What the outside measurement still does not answer: whether the path out of your own network was clear. If nothing arrives at your end while both figures are green, the problem is probably between us. Support can help from there. Where the two figures differ noticeably, the cause lies between the services rather than inside them; that too is worth telling support. ## What happens during an incident An outage in processing causes delay, not loss: events wait in a queue and are caught up. Measurement time is only lost if intake itself fails, which is why it runs separately from the portal and reporting. > **Legal note:** The figures on the status page are a measurement, not a guaranteed level of availability. A contractual commitment (SLA) is negotiated separately. ## Also asked - Do you have a status page? - Is Metrunio down right now? - What is your availability? - How do you measure uptime? - Do you measure from outside or only internally? - Why are there two availability figures next to each other? - How do I know the figures are real? ## Related - https://bench.metrunio.com/en/help/roadmap-phase-2 - https://bench.metrunio.com/en/help/support-erreichen - https://bench.metrunio.com/en/help/wie-lange-bis-daten --- --- slug: meta-google-messen title: "Does Metrunio measure Meta and Google ads?" category: grenzen locale: en updated: 2026-10-12 keywords: ["Meta","Google Ads","TikTok","channels","coverage","in-feed","walled garden","view","viewable impression","impression"] questions: ["Can Metrunio measure my ads on Meta, Google and TikTok?","Does Metrunio work with Meta Ads?","Can I track Google Ads with it?","Does Metrunio measure TikTok?","Which channels are supported?","Is Metrunio worth it if I only run Facebook ads?"] url: https://bench.metrunio.com/en/help/meta-google-messen --- # Does Metrunio measure Meta and Google ads? **Can Metrunio measure my ads on Meta, Google and TikTok?** The click yes, the viewable impression before it no. Inside the closed feeds of Meta, Google and TikTok no platform allows a third-party impression tag; there Metrunio measures the click and the conversion, and the viewable impression only exists as the platform’s own number. On display, programmatic and affiliate Metrunio measures delivery and viewability itself; for newsletters the open, which is not a viewable impression. Metrunio measures with its own tags. Whether that is possible is decided by the platform serving your ad, not by Metrunio. That is why the answer differs by channel and by signal. | Channel | Delivery and viewability | Click | Conversion | | --- | --- | --- | --- | | Display and programmatic (DSP, ad server) | own tag | own tag | own tag | | Newsletter | open as its own event, not a viewable impression, no post-view | own tag | own tag | | Affiliate | own tag | own tag | own tag | | Meta in-feed | platform data only | own tag | own tag | | Google Ads search and in-feed | platform data only | own tag | own tag | | TikTok in-feed | platform data only | own tag | own tag | | CTV | not available | not available | via order data only | ## What that means for you - If your budget runs mostly in-feed on Meta, Google or TikTok, Metrunio measures your clicks and conversions independently of the platform, but the viewable impression before the click is missing, and that is precisely our difference. The benefit is then smaller. - If display, programmatic or affiliate are in your mix, Metrunio measures delivery and viewability there itself, independently of whatever the platform reports. Whether the viewable impression then reaches the purchase depends on the browser: Chrome and Edge allow it, Safari, Firefox and Brave do not. The share is shown as post-view coverage in the portal. - For newsletters Metrunio measures the open as its own event. It never counts as a viewable impression (mail clients load images without a reader) and receives no post-view share. The click from the newsletter counts like any click. - Post-view credits arise only from viewable impressions we measured ourselves. A platform’s number is never reinterpreted as one of our own touchpoints. > **Note:** This table is the coverage, not the intent. It changes when a platform changes its rules. This page changes with it, and the date above says when it last did. ## Also asked - Does Metrunio work with Meta Ads? - Can I track Google Ads with it? - Does Metrunio measure TikTok? - Which channels are supported? - Is Metrunio worth it if I only run Facebook ads? ## Related - https://bench.metrunio.com/en/help/messgrenzen - https://bench.metrunio.com/en/help/post-view-messung - https://bench.metrunio.com/en/help/post-view-verstehen - https://bench.metrunio.com/en/help/was-metrunio-nicht-tut