Marketing and analytics · data source guide

Meta Ads data in Power BI

Meta Ads covers campaigns on Facebook and Instagram: reach, impressions, clicks, spend and the conversions Meta attributes to them. Teams pull it into Power BI to compare it with other paid channels on one page and with revenue from their own systems.

Connector status

No connector of its own in Microsoft's list

There is no Meta, Facebook or Instagram Ads connector in Microsoft's index. Data comes in through Ads Manager exports, a certified third-party connector, or the Marketing API.

Checked against Microsoft Learn's Power Query connector list on 5 November 2026. Connectors change; check the list before you build.

How to get Meta Ads data into Power BI

In order of preference for a report that refreshes on its own.

  1. 1

    Ads Manager exports

    Export a campaign report from Ads Manager (CSV or Excel) with the breakdowns you need, save it to SharePoint or OneDrive, and load it with the Excel or Text/CSV connector so the Service can refresh it.

  2. 2

    Certified third-party connectors

    Several certified connectors in Microsoft's list aggregate ad platforms (for example Funnel and Windsor). Confirm Meta is covered and check attribution settings in the vendor's tool.

  3. 3

    Marketing API

    The Marketing API returns insights as paged JSON with rate limits. Power BI's Web connector can call a REST API, but paging, authentication tokens and scheduled refresh in the Service take care: dynamic URLs built from parameters may not refresh in the Service unless the base URL is static (use Web.Contents with RelativePath and Query).

  4. 4

    One cross-channel table

    Append Meta, Google Ads and LinkedIn Ads into one Ads fact table with a Platform column and the same column names, so one set of measures serves every channel.

Typical Meta Ads KPIs

Table and column names in the DAX are illustrative: rename them to match your model.

Reach and frequency

People reached and average impressions per person.

DAX
Frequency = DIVIDE ( SUM ( MetaAds[Impressions] ), SUM ( MetaAds[Reach] ) )

CPM

Cost per thousand impressions.

DAX
CPM = DIVIDE ( SUM ( MetaAds[Spend] ), SUM ( MetaAds[Impressions] ) ) * 1000

Click-through rate

Link clicks divided by impressions.

DAX
CTR = DIVIDE ( SUM ( MetaAds[LinkClicks] ), SUM ( MetaAds[Impressions] ) )

Cost per result

Spend divided by the campaign's optimisation result.

DAX
Cost per Result = DIVIDE ( SUM ( MetaAds[Spend] ), SUM ( MetaAds[Results] ) )

ROAS

Attributed purchase value divided by spend.

DAX
ROAS = DIVIDE ( SUM ( MetaAds[PurchaseValue] ), SUM ( MetaAds[Spend] ) )

Modelling notes for Meta Ads

Templates for Meta Ads data

Free page layouts with a background, theme JSON and PBIP project. Swap the sample tables for your own queries.

More by department: Marketing templates

Visuals for Meta Ads KPIs

Chart types that suit these KPIs, with data shapes and example prompts.

Meta Ads and Power BI: questions

Is there a Facebook Ads connector in Power BI?

Not in Microsoft's Power Query connector index (checked 5 November 2026). Use exports, a certified third-party connector or the Marketing API.

Can I sum reach across campaigns?

No. Reach is people, de-duplicated within each query; the same person can be reached by several campaigns. Use impressions for additive totals.

Related data sources

Other sources teams often combine with this one.

Meta Ads is a trademark of its owner. Product names are used only to describe compatibility; VizForge is not affiliated with, endorsed by or sponsored by the owner or by Microsoft.

Design the Meta Ads report page first

Lay out KPI cards and visual slots in the free Design Studio, then export the background, theme JSON and a PBIP project to bind to your data.

The design studio for Power BI. Free, in your browser, no sign-up.