Skip to content

Reports, cost and export

How do I get CRM deals into the reporting?

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.

Can I import conversions that did not happen on the website?

  1. 01Open “Orders & goals” and download the template.
  2. 02Per row, enter a reference, the timestamp, the value and the anchor that identifies the person.
  3. 03Choose the website and the file and click “Check”. The dry run shows what would be imported without storing anything.
  4. 04Click “Import”. Seconds later the conversions appear in journeys and attribution.

The anchor

ColumnWhat belongs there
order_idthe order number assigned online
lead_idthe lead identifier from the form; the SDK writes it there as metrunio_lead_id
click_idgclid, 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

ColumnWhat belongs there
consent_stategranted or partial, as the person consented; empty if there is no information
consent_purposesanalytics and/or marketing, separated by semicolons
consent_sourcewhere consent was given, e.g. contact form, cookie banner, contract
consent_atwhen consent was given
consent_refwhere the evidence is kept on your side: record in your CRM or consent tool including the text version shown
consent_withdrawn_atif 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.

Last reviewed on 16 Oct 2026

In the customer portal

Go to orders & goals

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 articles

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

See what your data tells you.

Look around in the demo first. Your own account is currently available by invitation only.

Open the demoRequest access