Meta Ads
Connect your Meta ad accounts, choose which ones Meerkats reads, and let agents pause, enable and rebudget campaigns with your approval.
Meta Ads is the Facebook and Instagram advertising connection. Meerkats imports every campaign, ad set, ad and creative in the ad accounts you choose, their daily performance with all the breakdowns Ads Manager offers, your audiences and catalog, and the account's change history.
With a sales source connected (Shopify or a marketplace), Meerkats also matches Meta clicks to real orders, so you can see Meta's reported ROAS next to the corrected number.
| How it connects | Sign in and approve |
| Reads | Campaigns, Ad sets, Ads and creatives, Daily insights, Audiences, Catalog, Pixels and datasets, Activity log, Account and billing |
| Can change | Pause or enable a campaign, ad set or ad; Lower a budget; Raise a budget; Change a bid or bid cap; Create a campaign, ad set or ad; Create or update a custom audience |
| Refresh | On your plan's schedule, plus Resync anytime |
Before you start#
- A Meta Business account that owns or has partner access to the ad accounts you want to connect.
- Your role on each ad account must be Admin or Advertiser for Meerkats to make changes. Analyst access is enough to read.
- If someone else manages your ads, ask them to connect, or ask for Advertiser access first.
Permissions#
Meta Ads asks you to approve these permissions. Each one is listed with why Meerkats needs it.
| Permission | Why Meerkats needs it |
|---|---|
ads_read | Read campaigns, ad sets, ads and performance |
read_insights | Read reporting breakdowns (age, gender, placement, device, hour) |
ads_management | Pause, enable, rebudget and create campaigns when you approve a change |
business_management | List the ad accounts, pages and pixels your business owns |
pages_read_engagement | Read the posts and pages your ads promote |
catalog_management | Read catalog products used by Advantage+ catalog ads |
Connect#
1. Connect your Meta account#
- Open Integrations
In the sidebar, select Integrations. The page is titled Connect Your Data to unlock Insights.
- Choose Meta-Ads
Find Meta-Ads under Available connectors and select Connect.
- Sign in to Meta and approve
Meta opens in a new window. Sign in with the account that has access to your ad accounts, pick the business, and approve the permissions listed above. Meerkats never sees your password.
- Pick the ad accounts
Back in Meerkats, tick the ad accounts to sync. Each account keeps its own currency and time zone.
2. Run the first sync#
- Check the status
Open Data Hub › Bronze Layer and choose Meta in the platform picker. The chip next to the tabs shows Never synced until the first sync finishes.
- Start it
Select Resync. The first sync imports your history, so it can take a few minutes for a large account. Sync History shows each run and its status.
- See the data
The Campaigns, Ad Sets, Ads and Creatives tabs fill in. Cockpit and Reports and Charts › Explore start showing Meta numbers at the next refresh.
What syncs#
| Meta Ads | In Meerkats |
|---|---|
| Campaigns | Campaigns: objective, buying type, status, budget (CBO), bid strategy, spend cap, schedule |
| Ad sets | Ad sets: budget (ABO), optimization goal, attribution setting, targeting, placements, promoted object |
| Ads and creatives | Ads with their creative: format, primary text, headline, description, image or video, call to action, destination URL and UTMs |
| Daily insights | Performance by day with breakdowns: age, gender, country, region, placement, platform, device, hour, product |
| Audiences | Custom and lookalike audiences: type, source, size band, which ad sets use them |
| Catalog | Catalog products: title, brand, category, price, availability |
| Pixels and datasets | Configured events, Conversions API status, last event received, match quality |
| Activity log | Every budget, status, bid, creative and audience edit: who, what, old value, new value, when |
| Account and billing | Currency, time zone, spend cap, invoices (billed vs reported spend) |
Raw data lands in Data Hub › Bronze Layer. Modelled tables, with metrics defined once, are in Data Hub › Gold Layer. Every number in a report or an agent’s answer comes from a query on these tables, never from the model’s own arithmetic.
Metrics you get#
The metrics people ask for most, named as Meta Ads names them. The full list, with each definition, is in the metric catalog.
Amount spentImpressionsReachFrequencyCPMLink clicksCTRCPCPurchasesPurchase valuePurchase ROASWebsite ROASLeadsCost per leadThruPlaysQuality ranking
How often it syncs#
Meerkats syncs on your plan's schedule: daily on Free, hourly on the $49 plan, every 30 minutes on $149 and every 15 minutes on $399. You can run a sync at any time with Resync in Data Hub › Bronze Layer.
- Meta reports in the ad account's time zone. Meerkats keeps that boundary, so a day in Meerkats is the same day you see in Ads Manager.
- Meta restates the last few days as late conversions arrive. Each sync re-imports a trailing window, so numbers in Meerkats catch up with Ads Manager.
- Attribution follows each ad set's attribution setting (for example 7-day click, 1-day view). Corrected ROAS uses your own orders instead.
What Meerkats can change#
In every connected tool, Meerkats can create, read, update and delete records, within the permissions you grant and the permissions the tool allows. These are the changes it proposes for Meta Ads, and the limit that applies to each.
| Change | Limit |
|---|---|
| Pause or enable a campaign, ad set or ad | Medium risk: always proposed for approval |
| Lower a budget | Up to 20% per change |
| Raise a budget | Up to 50% per week per campaign |
| Change a bid or bid cap | Up to 15% per change |
| Create a campaign, ad set or ad | Created paused; a second approval switches it on |
| Create or update a custom audience | Proposed for approval |
How every change is governed
Every change starts as a proposal in your Inbox. Nothing changes in the connected tool until a person approves it, unless you set that rule to act on its own.
Before it runs an approved change, Meerkats re-reads the live value. If the value moved since the proposal, it asks again instead of acting on stale data.
Meerkats stores the value it replaced, so every change can be undone from Agents run history.
Anything Meerkats creates starts paused. Switching it on is a second, separate approval.
Example automations#
Type any of these on the New automation page (Automation Agents › + New Agent).
- “Pause any Meta ad set whose cost per purchase is above $40 for three days in a row”
- “Alert me on Slack when a Meta campaign's frequency goes over 4”
- “Email me every Monday with the top 10 Meta creatives by purchase ROAS”
Troubleshooting#
The ad account I want isn't in the list
Meerkats lists the ad accounts the signed-in person can see in their Meta Business. Ask a Business admin to add you to the ad account, then select Connect again.
Meta disconnected after a few weeks
Meta tokens expire when you change your Facebook password, remove the Meerkats app in Business settings, or lose access to the account. Open Integrations and select Connect on Meta-Ads to sign in again. Nothing you built is lost.
Numbers don't match Ads Manager
Check three things: the date range and time zone, the attribution window (Ads Manager's default is 7-day click and 1-day view), and whether you're comparing to Platform ROAS or the corrected ROAS, which uses your orders.
A change was approved but didn't happen
Open Automation Agents › Agents run history. If the live value moved between the proposal and the approval, Meerkats re-proposes instead of acting. If Meta rejected the change, the run shows Meta's error.