Meta OAuth scope justification
Submitted to Meta's App Review team as part of FixAdSpend's App Review for the Marketing API. Last updated: 2026-06-28.
1. Application overview
FixAdSpend (https://www.fixadspend.ai) is a SaaS auditing tool that helps small-business owners and in-house performance marketers identify wasted ad spend in their Meta Ads (Facebook + Instagram) accounts. We are a Wyoming-registered LLC (Fixadspend LLC), business-verified through Meta Business Manager.
Users sign up at fixadspend.ai, connect their Meta Ads account via Facebook Login for Business, and the product reads ad-account-level metrics nightly to surface recommendations like "refresh creative on ad set X — CTR dropped 35% this week" or "pause campaign Y — $180/month savings".
2. Permissions requested
ads_read— required to read ad-account-level campaign, ad-set, and ad insights via the Marketing API.ads_management— requested only when a user opts into the auto-apply feature (see Section 4). Not requested by default at sign-in.email,public_profile— standard sign-in fields for our NextAuth-backed authentication.business_management— read business accounts the user owns so we can list their ad accounts in the connection picker.
3. Why we need ads_read
Our core feature — automated ad-spend audit — cannot function without read access to the user's Meta Ads account. Specifically we query:
- Campaign + ad-set + ad insights: spend, impressions, reach, CTR, CPM, conversions, ROAS over the last 30 days by day. Used by our root-cause analyst, creative-refresh, bid-optimizer, and dayparting agents.
- Campaign + ad-set metadata: status, objective, budget, optimization goal. Used to filter recommendations to only items the user can act on.
- Ad creative metadata: body, title, thumbnail URL. Used by our creative-refresh writer agent to suggest fresh variants when CTR fatigues.
- Audience breakdowns: by age, gender, region, placement. Used by our audience-intelligence and geo-optimizer agents.
4. Why we may request ads_management later
ads_management is not requested at sign-in. It is an explicit opt-in inside the product (Settings → Connections → Enable auto-apply). When a user opts in we run a fresh OAuth grant for ads_management only.
With ads_management, the agent can apply a recommendation directly (e.g., add a negative-keyword list, pause a fatigued ad set) instead of opening Meta's UI for the user to do it manually. Every change is logged to the user's decision log with a one-click revert.
5. What we do with the data
Ad-account metrics are stored in our PostgreSQL database (Neon, us-east-2 region) keyed to the authenticated user's account. Data is used exclusively for two purposes:
- Rendering recommendations in the user's own dashboard at fixadspend.ai/dashboard.
- Sending campaign metrics to Anthropic's Claude API at audit time to produce diagnostic recommendations. Anthropic operates in zero-data-retention mode; we do not train any models on user data and we do not share user data with any third party.
We never resell, share, or expose the data to anyone outside the authenticated user. Users can export everything (GDPR Art. 15) or hard-delete it (GDPR Art. 17) at any time from their data & privacy settings.
6. Platform Policy compliance
FixAdSpend complies with Meta Platform Terms and the Marketing API Acceptable Use Policy. In particular:
- We do not use Meta data to build user-level profiles for advertising outside the user's own Meta account.
- We do not transfer Meta data to third parties except where necessary to provide the feature (Anthropic Claude API, zero-data-retention).
- We respect Meta's data-retention windows: we delete cached ad-account data within 30 days of the user revoking access.
- We support the data-deletion request callback at /data-deletion for users who request deletion via the Meta-initiated flow.
7. Privacy policy + terms
8. Demo video + test credentials
On request, we provide:
- A 2-minute screen recording showing the full Facebook Login for Business OAuth flow + post-connect dashboard.
- A test ad account (under our Business Manager) reviewers can use to test the full integration.
- Live dashboard credentials with the test data pre-loaded.
Email admin@fixadspend.ai for any of these.
9. Contact
Fixadspend LLC
Wyoming, USA
Developer contact: admin@fixadspend.ai
Application URL: https://www.fixadspend.ai
Privacy policy URL: https://www.fixadspend.ai/privacy