All guides
f

Integration · Starter & Pro

Meta Ads Integration

Connect your Facebook and Instagram ad accounts to pull daily campaign data — spend, impressions, clicks — and include it in your Marketing Pulse daily reports.

What you get

📡

Campaign data sync

Spend, impressions, clicks, and reach for every active campaign — synced automatically every day at 2 AM UTC.

🎯

Facebook & Instagram

All Meta campaigns appear together: Facebook feed, Instagram stories, Reels, and any other placement your account uses.

📈

ROAS calculation

Combined with Shopify order attribution via UTM parameters to show your true return on Meta ad spend.

🔔

Smart alerts

ROAS drops and high-spend warnings apply to Meta campaigns individually in your daily report.

🔒

Secure OAuth

You connect via Meta's official OAuth. We request read-only permissions — we never modify your campaigns.

📊

Plan limits

Starter: 1 Meta account. Pro: unlimited accounts. The counter is shown in the Integrations tab.

What data is synced

Every day we pull the previous day's stats for all active campaigns in your connected ad account. This is what appears in your daily report:

f
Meta Ads — Campaign data (yesterday)Synced 9:01 AM UTC
CampaignSpendImpressionsClicksROAS

Summer Sale — Broad

ACTIVE
$310.2024,5006209.1×

Retargeting — Cart

ACTIVE
$180.008,1002104.3×

Lookalike — Purchase

ACTIVE
$95.5012,2001802.8×

How to connect

1

Open the Integrations tab

In your Shopify Admin, open Marketing Pulse and click the Integrations tab.

Under Ad integrations you will see the Meta Ads card. Click Connect.

2

Log in to Facebook & authorise

You will be redirected to Facebook's login page. Sign in with the account that owns the ad account you want to connect (usually your Business Manager admin account).

💡

If you manage multiple businesses, make sure you're logged in to the correct Facebook account before clicking Connect.

3

Select the ad accounts to connect

Facebook will ask which ad accounts Marketing Pulse can access. Select the accounts you want to track and click Save.

ℹ️

Starter plan: you can connect 1 ad account. Pro plan: unlimited. If you hit your limit, you will see a plan upgrade prompt.

4

Wait for the first sync

The first data sync runs at 2:00 AM UTC automatically. After that, your dashboard will show yesterday's campaign data and the Integrations tab will display Synced 3/29/2026.

Connection confirmed! Your next daily report will include Meta campaign data.

What permissions we request

ads_read

Read campaign performance data (spend, impressions, clicks). Read-only.

business_management

Access ad accounts under your Business Manager. Read-only.

🔒

We never request permissions to create, edit, or delete campaigns. All access is strictly read-only.

Frequently asked questions

I connected but the dashboard shows no data. Why?

The sync runs at 2 AM UTC daily. If you connected today, wait until 2 AM UTC for the first data pull. If it's been more than 24 hours, check that your ad account has active campaigns with spend for yesterday.

Can I connect a personal ad account (not Business Manager)?

Yes — personal ad accounts are supported. During the OAuth flow, select your personal ad account when prompted. However, Business Manager accounts are recommended for production use.

My Meta access token expired. What happens?

We store long-lived access tokens (valid ~60 days). When they expire, the sync will fail and you will see a 'Reconnect' button in the Integrations tab. Click it to re-authorise.

How do I disconnect a Meta account?

In the Integrations tab, find the connected account and click Disconnect. This removes the token from our database. You can always reconnect later.

Does Marketing Pulse support Meta's test/sandbox environment?

Yes — during development, the app falls back to mock campaign data if the Meta API is unavailable. In production, live API data is always used.

Ready to connect your Meta account?

Open the Integrations tab in Marketing Pulse and click Connect next to Meta Ads.