Almanac

Consultant-focused KB for Microsoft Dynamics 365 Customer Insights – Journeys (formerly Marketing): implementation notes, gotchas, and configuration decisions beyond the official docs — across real-time journeys, segments, email and SMS marketing, event management, lead scoring, Copilot, analytics, and administration.

feature-marketing-analytics-fabric-export.mdv1 · history
CurrentApplies to Real-time journeysUpdated 6 days agoSource Microsoft Learn

What it does

Customer Insights - Journeys interaction data is exposed to Microsoft Fabric through a Dataverse shortcut, so you can build custom Power BI reports over raw interaction records without an export, an ETL pipeline or a third-party connector. The data stays inside the Dataverse governance boundary; Fabric reads it in place.

Key facts

  • Generally available since 31 July 2024. Anyone still on the preview shortcuts had to move by 7 December.
  • Requires a Power BI Premium or Fabric capacity, a premium workspace, Fabric enabled on the tenant, and System Administrator rights on the Dataverse environment to create the shortcut.
  • Set-up is: open or create a Lakehouse in Fabric, Get data > New shortcut > Dataverse, give the environment URL, then pick tables from the Customer Insights Journeys folder.
  • Only interaction types that have actually generated data appear in that folder. An empty-looking folder on a fresh environment is normal.
  • If the folder is missing entirely, configure "Link to Microsoft Fabric" from the Power Apps maker portal first.
  • Changes surface in Fabric within up to three hours. This is not a real-time feed and should not be sold as one.
  • Access is via the Lakehouse SQL analytics endpoint, Power BI direct on the Lakehouse, or Spark notebooks for anything heavier.
  • The interaction tables map to the documented Common Data Model entities — EmailSent, EmailDelivered, EmailOpened, EmailClicked, EmailHardBounced, EmailSoftBounced, EmailBlocked, EmailFeedbackLoop, EmailAddressOptedOut, the Sms*, PushNotification* and Custom* equivalents, FormSubmitted, FormVisited, WebsiteVisited, WebsiteClicked, EventRegistration, EventCheckIn, VoiceCall*, and GoalEvent.
  • Journey execution is in there too: JourneyEventInflow, JourneyEventEntryProcessed, JourneyEventCompleted, plus per-step ActionEventInflow, ActionEventProcessed, ActionEventDropoff, ActionEventPostponed, ActionEventResumed and ActionEventSystemFailure.
  • Remote bounce handling means EmailDelivered rows can exceed emails sent. Use the DeliveredCount field rather than a row count if you want a delivery figure that reconciles.
  • Aggregate cross-journey and channel analytics carry no data retention policy of their own, but their underlying Dataverse rows are subject to the two-year entity retention that applies from record creation.
  • In-app analytics show 12 months and the contact timeline shows 90 days; the interaction data behind them lives longer, which is exactly why Fabric exists.
  • Outbound marketing was removed in May 2026, and existing outbound Power BI reports do not work against the real-time journeys data. The format, location and access method are all different.

When to use / skip

Reach for Fabric the moment a reporting requirement outgrows the built-in dashboards — anything joining marketing interactions to opportunities, revenue, service cases or non-Dynamics data; anything needing a longer window than 12 months; anything with a defined attribution model beyond the three-day journey goal.

Skip it if the client's actual need is "a nicer version of the open rate screen". The capacity cost, the workspace governance and the semantic model maintenance are real, and a client who wanted one chart will not thank you for a Lakehouse.

The honest test is whether there is an owner. Fabric integration is not a one-off configuration task, it is a reporting product with a lifecycle. If nobody on the client side owns the semantic model, the reports will be stale within two quarters and someone will blame the platform.

Configuration decisions

  • Whether the capacity already exists. If the client has no Fabric or Premium capacity, this is a licensing conversation before it is a technical one.
  • Which tables to shortcut. Take the ones you need rather than everything — a wide shortcut makes the semantic model harder to maintain and the refresh slower to reason about.
  • Where the workspace sits in the client's Fabric tenant governance, and who administers it, since the shortcut is created with System Administrator credentials on Dataverse.
  • Whether reporting is direct on the SQL endpoint or through a curated semantic model. On anything with more than a couple of report authors, curate.
  • How delivery is counted in the model — row counts versus DeliveredCount — and getting that decision written down before the first report is published.
  • Whether the three-hour latency is acceptable for the intended audience, and what the dashboards say about freshness so nobody reads a stale figure as live.

Gotchas

  • EmailDelivered row counts exceeding sends looks like duplicate data and isn't. It is remote bounce handling. Report authors who don't know about DeliveredCount will build a delivery rate above 100% and lose all credibility on the first showing.
  • The Customer Insights Journeys folder only lists tables with data, so tables appear over time. A shortcut built on a quiet environment misses tables you'll want later.
  • Up to three hours of latency will be discovered by an executive refreshing a dashboard during a live send. Label it.
  • Two-year Dataverse entity retention applies to the underlying rows. If the client wants multi-year trend analysis, the data has to be landed somewhere durable inside that window — this is not an infinite archive.
  • Anyone who migrated from outbound marketing has Power BI reports that will not work here at all. Budget a rebuild, not a repoint.
  • Creating the shortcut needs System Administrator on Dataverse, which in a controlled client environment is a change request with a lead time.
  • Preview-era shortcuts are dead. If you inherit an environment set up before GA, check where its shortcuts point before debugging report failures.

Consultant notes

  • Scope the Fabric work as its own workstream with its own budget. Slipping it into a Journeys implementation as "reporting" is how projects go over.
  • Build one report — usually journey performance joined to pipeline — and get it in front of the sponsor early. It is the deliverable that justifies the capacity spend.
  • Insist on a named owner for the semantic model before you hand over, and write the DeliveredCount rule into the handover notes.
  • For clients coming off outbound, set the expectation on report rebuild in the migration plan, in writing. It is the most commonly missed line item in an outbound migration.
  • Check the shortcut and one report after every major platform update. New interaction tables appear as new channels get used, and the model does not pick them up on its own.

Worth revisiting if the Dataverse retention rules change, or if new interaction tables land with a channel release.

Was this accurate?