Ads Dashboard

Read-only performance dashboard for every Meta (Facebook & Instagram) ad account in your Business Manager - spend, CTR, CPC, ROAS, cost per lead, campaigns, ad sets and ads.

The Ads Dashboard (Business Admin → Ads Dashboard) pulls live performance data from every ad account in your Meta Business Manager into your workspace so you can see spend, results and cost per lead in one place - without logging into Ads Manager.

Google Ads support is planned.

What you can see

  • Overview KPIs - Spend, Impressions, Reach, Clicks, CTR, CPC, CPM, Frequency, Leads, Cost per Lead, Purchases, ROAS.
  • Spend & clicks over time chart, with 7 / 14 / 30 / 90-day ranges.
  • Filter by ad account - view all ad accounts combined, or drill into a single one.
  • Campaigns / Ad Sets / Ads tables - every row with status, objective, spend, impressions, clicks, CTR, CPC, leads and cost per lead.
  • Breakdowns - slice performance by Platform (Facebook vs Instagram), Placement, Device, Age, Gender or Country.
  • Client Leaderboard - one screen ranking every client with active campaigns by cheapest cost per lead, with business-wide averages for CPL, booking rate, cost per appointment and cost per customer. Perfect for a daily morning check-in to spot which clients need attention.

Data refreshes automatically every night at 03:00 UTC and can be pulled on-demand with Sync now.


Full recipe - connect Meta Business Manager

You only need to do this once per business. The token you paste can see every ad account in your Business Manager, including client accounts shared with you. Budget ~10 minutes.

What you need before you start

  • Admin access to the Meta Business Manager that owns (or has been given access to) the ad accounts.
  • 2-factor authentication enabled on your Facebook account (Meta requires it for System User tokens).
  • A Meta App in your Business Manager. The Developer Portal has changed - apps are now created around Use cases rather than raw products.

Step 1 - Create the Meta App (new "Use cases" flow)

  1. Go to developers.facebook.com/apps and click Create app (top right).

  2. App details

    • App name: Myra Ads Reporter (or anything you'll recognise later - max 30 chars).
    • App contact email: an address you actually monitor (Meta uses it for policy notices).
    • Click Next.

    Meta App - App details step with name and contact email filled in

  3. Use cases - this step replaced the old "Products" list. Filter by All (19) and tick only these two:

    • Measure ad performance data with Marketing API
    • Capture & manage ad leads with Marketing API

    Meta App - Use cases screen with the two Marketing API use cases ticked

    Don't tick "Create & manage ads with Marketing API" - it triggers App Review and we don't need write access.

  4. Business - pick the verified Business Portfolio that owns (or has partner access to) your ad accounts. If it's missing, either you're logged into the wrong Facebook account, or the portfolio isn't verified yet - you can also click I don't want to connect a business portfolio yet and add one later, but data access is blocked until you do.

    Meta App - Business portfolio selection step

  5. Requirements / Overview → click through and Create app. You'll land on the app dashboard - you don't need to touch it again.

Already have an app on the old "Products" flow? Skip to Step 2 - it still works.


Step 2 - Create a System User

System Users are non-human accounts owned by your Business - their tokens don't die when a person leaves the company.

  1. Go to business.facebook.com/settings.
  2. Left sidebar → Users → System Users.
  3. Click Add.
  4. Name it something like Myra Ads Reporter, role Admin, then Create System User.
  5. Confirm with your Facebook password when prompted.

Step 3 - Give the System User access to your ad accounts

Still on the System User's page in Business Settings:

  1. Click Add Assets (top right).
  2. Select Ad Accounts in the left tab.
  3. Tick every ad account you want to report on - yours and any client accounts shared into your Business Manager.
  4. On the right, toggle View performance on. (Leave Manage campaigns off - we're read-only.)
  5. Click Save Changes.

Repeat Add Assets for:

  • Pages - grant View Page performance (needed if you want lead-form leads pulled through).
  • Businesses - if you want us to also list ad accounts that live under client Business Managers you've been granted partner access to.

Step 4 - Generate the access token

Still on the System User's page → click Generate New Token. The wizard has 4 steps.

4a - Select app. Pick the Meta App you created in Step 1 (e.g. Myra Ads Reporter).

Generate token - Select app step with

4b - Set expiration. Choose Never. (60 days is Meta's recommended default, but picking Never means you never have to rotate the token - the whole dashboard breaks the day it expires otherwise.)

Generate token - Token expiration step with

4c - Assign permissions. Open the dropdown and tick exactly these 8 permissions - nothing else:

  • ads_management
  • ads_read
  • business_management
  • leads_retrieval
  • pages_manage_ads
  • pages_manage_metadata
  • pages_read_engagement
  • pages_show_list

Generate token - Assign permissions step with the 8 required scopes ticked

If any permission is greyed out, it's because that use case isn't on the app - go back to Step 1 and confirm both Marketing API use cases are ticked.

For Lead Ads, the System User must also have Leads Access or full control on each Page in Meta Business Settings. Meta may display this as MANAGE_LEADS, MANAGE, or a PROFILE_PLUS_* permission depending on the Page experience; Myra accepts all equivalent lead-capable assignments.

4d - Done. Click Generate Token, then Copy Token immediately. Meta only shows the value once - if you close the dialog you'll have to generate a new one.

The token starts with EAAB… and is ~200 characters long. Treat it like a password - anyone with it can read your ad data.


Step 5 - Paste it into Myra

  1. In Myra, open Business Admin → Ads Dashboard.
  2. Click Connect Meta (top right).
  3. Paste the token → Connect & validate.

We call Meta's /me endpoint to verify the token, then show you the full list of ad accounts it can see. If validation fails, the error tells you exactly which check failed (invalid token, missing scope, no ad accounts on the System User).


Step 6 - Pick which ad accounts to sync

  1. Click Add ad account.
  2. Tick every account you want in the dashboard (search box helps if you manage lots).
  3. Close the picker - hit the Sync button (↻) on each row to pull the last 30 days immediately.

That's it. From now on we refresh every night at 03:00 UTC, and you can add or remove ad accounts any time from the same picker.


Where each metric comes from

Metric in Myra Meta Insights field
Spend spend
Impressions impressions
Reach reach
Clicks clicks (all clicks) - link clicks available too
CTR / CPC / CPM ctr / cpc / cpm
Frequency frequency
Leads actions where action_type = lead (or onsite_conversion.lead_grouped)
Cost per Lead spend ÷ leads - computed per account, campaign, ad set and per ad
Purchases actions where action_type = purchase
Purchase value / ROAS action_values (purchase) ÷ spend
Video views (25 / 50 / 75 / 100 %) video_p25/50/75/100_watched_actions

Limits

  • Read-only. You can't pause, edit or create campaigns from the dashboard - that requires Meta's ads_management permission and full App Review.
  • Meta only for now - Google Ads is coming.
  • Historical data is limited to what Meta returns (typically up to 37 months).

Troubleshooting

  • "Invalid OAuth access token" - the token was revoked or the wrong permissions were granted. Repeat Step 3.
  • "No ad accounts found" - the System User has no assets assigned. Redo Step 2, then click Add ad account again.
  • Sync error mentioning rate limits - Meta throttles high-volume calls; the nightly job auto-retries with backoff, and manual Sync will work again shortly.

Client view: your own Ads page

Clients with a linked ad account get an Ads item in their own sidebar (/ads).

  • Shows only the ad accounts mapped to that workspace - never another client's data.
  • Headline metrics for the selected period: spend, impressions, clicks, CTR, CPC, CPM and conversions.
  • The same date-range presets (7 / 14 / 30 days, 3 / 6 / 12 months, or a custom range).
  • Breakdown tabs for campaigns, ad sets and ads, sorted by spend.
  • If more than one ad account is mapped, an account picker appears (defaults to all of them combined).
  • If nothing is mapped yet, the page says "No ad account connected yet. Your account manager can link one."

Click an ad to see the creative

Anywhere ads are listed - the business Ads Manager → Ads table and the client Ads → Ads breakdown - click a row to open the ad.

  • The creative image is shown full size (extra images appear as thumbnails underneath).
  • Below it: the ad copy pulled live from Meta - primary text, headline, description, the destination link and the call-to-action button.
  • Status and a link to the public Meta Ad Library entry for the ad.
  • If Meta can't be reached, the last synced image and copy are shown with a small notice.

Leads tab

Both views now have a Leads tab next to Campaigns / Ad sets / Ads. It lists every lead that came in through your connected Meta lead forms for the selected period:

Column Meaning
Name / Contact The contact created in your CRM from the submission
Ad Which ad the person submitted from
Campaign Campaign name reported by Meta
Form The lead form used
Stage The contact's current pipeline stage
Received When the submission arrived

Notes:

  • Clients only ever see their own workspace's leads.
  • The ad and campaign attribution is captured at the moment the lead arrives, so it only appears for leads received after this was switched on.
  • If nothing shows, your lead forms aren't connected yet - see the Lead Forms section of the setup guide.