Cryptic Facebook or Instagram ad error? Find it here to understand what went wrong and exactly how to fix it.
You've passed an invalid parameter to the Meta Graph API. This could mean a missing required field, an improperly formatted JSON payload, or trying to use a field that does not exist on the node you are targeting.
Your Meta User Access Token or System User Token is invalid, has expired, or the user changed their password.
Your app or account is making too many API calls in a short window. Meta enforces strict rate limits to maintain platform stability.
Meta's Graph API is experiencing a temporary disruption. This is an internal server issue on Facebook's end.
Meta has temporarily blocked your action because your app or account engaged in behavior that violates their developer policies, or you performed an action deemed 'spammy' too quickly.
Your ad account has been flagged and suspended for violating Meta's Advertising Policies. All delivery pauses immediately.
Your account hit its billing threshold and Meta attempted to charge your card, but the charge failed. Consequently, all campaigns have been halted.
The account has an unpaid invoice from a previous billing cycle. Meta restricts creating new campaigns or turning active ones on until the balance is cleared.
You hit your lifetime Account Spend Limit. This is a manual safety cap you or an admin previously placed on the entire Business Manager or Ad Account.
Your recently launched ad was rejected by the review algorithm for violating Meta's Advertising Standards (e.g., adult content, misleading claims, or unacceptable business practices).
The picture you've selected for your image ad or carousel doesn't meet the minimum pixel dimensions required for the chosen placements.
You tried uploading a video type that Meta doesn't know how to process, or the file size is wildly over the maximum limit.
The destination URL (Landing Page) attached to your ad is currently throwing a 404 error, redirecting in a loop, or taking too long to load during the approval process.
Your primary text or headline has breached the character limits allowed for a specific placement (like the Right Column or Instant Articles).
Your targeting parameters are mathematically too restrictive. The custom audience size falls below Meta's absolute minimum threshold required to initiate learning/delivery (usually < 100 people).
You applied a Lookalike Audience to your ad set, but Meta's backend is still crunching the data on the seed audience. Ads won't spend until compilation finishes.
You tried to attach a Custom Audience to the `included_custom_audiences` array that mathematically doesn't exist, was deleted by another user, or belongs to an unlinked Business Manager.
Based on current Meta constraints (like targeting housing, employment, or credit scopes), you physically cannot turn off Detailed Targeting Expansion or you are requesting extremely narrowed attributes.
Your manual manual cost cap or bid limit is drastically lower than the floor threshold required to actually enter an active auction against competitors.
The daily budget provided across the campaign (CBO/ABO) or ad set doesn't meet the daily minimum requirement for the currency your ad account operates in (e.g. less than $1 USD).
You picked an optimization goal (like 'Purchases' or 'Value') that fundamentally clashes with the chosen Campaign Objective (like 'Brand Awareness').
You declared a conversion campaign, but you totally forgot to tell Meta *what* they are optimizing for. An Ad Set needs a specific Pixel Event or App Event ID attached to it.
Your application (not just the user) has exceeded the app-level API call rate limit. This is different from error 17—this limit applies to all users of your app collectively.
Your app or access token doesn't have the required permission to perform this action. The token may be valid, but it lacks the specific scope needed for the endpoint you're calling.
You're trying to perform a write operation (like creating or modifying an ad) but your access token only has read-level permissions. The specific extended permission for this action hasn't been granted.
Meta's servers encountered an unexpected internal error that doesn't map to a specific known error code. This is Meta's generic catch-all when something breaks on their backend.
You're calling an API endpoint or using a parameter that Meta has officially deprecated and removed in the Graph API version you're targeting.
The user's login session tied to the access token has become invalid. This happens when a user logs out of Facebook, changes their password, or the session times out after an extended period.
Your Facebook App has hit a temporary hard ceiling on the volume of operations it can perform. This is a stricter version of rate limiting typically triggered by sustained high-volume usage patterns.
You attempted to create an ad or post that Meta considers identical to one you recently submitted. Meta blocks exact duplicates to prevent spam and accidental double-submissions.
Your ad account has been placed in a restricted penalty state due to repeated or severe policy violations. Unlike a full disable, your account still exists but is severely limited in what it can do—budgets are capped and new campaigns may be blocked.
You're trying to set a budget or bid amount in a currency that doesn't match the ad account's configured currency. Each Meta ad account is permanently locked to one currency at creation time.
Meta attempted to automatically charge your payment method on file for accumulated ad spend, but the transaction was declined by your bank or payment provider.
The video you uploaded exceeds the maximum duration allowed for the selected ad placement. Different placements have different limits—Stories allow 15 seconds, Reels up to 90 seconds, and Feed placements up to 240 minutes.
Your ad configuration is missing a Call to Action (CTA) button, which is mandatory for the campaign objective or ad format you selected. Conversion, traffic, and app install campaigns always require a CTA.
Meta's automated review system detected language in your ad copy that violates content restrictions. This includes claims about personal attributes ('Are you overweight?'), profanity, misleading health claims, or references to restricted product categories.
The landing page URL you provided in your ad setup is incorrectly formatted. It may be missing the protocol (http/https), contain illegal characters, have extra spaces, or use a URL shortener that Meta doesn't allow.
The image or video you uploaded has an aspect ratio that falls outside the acceptable range for the selected placement. Each Meta placement enforces specific aspect ratio requirements.
Your carousel ad doesn't have enough cards. Meta requires a minimum of 2 carousel cards to create a valid carousel ad, and you've only provided one (or none).
You're running an ad that promotes a third-party brand or product (an 'influencer' or 'partnership' post), but you haven't applied the required Branded Content tag. Meta mandates transparency for paid partnerships.
You've provided more creative assets (images, videos, headlines, or descriptions) than the maximum allowed for Dynamic Creative optimization. Meta limits each asset type to prevent combinatorial explosion.
Your audience exclusions are so broad that they effectively eliminate your entire target audience. The intersection of your included audience minus excluded audiences results in a deliverable pool that's too small or zero.
You attempted to set a specific age range for a campaign flagged under a Special Ad Category (Housing, Employment, Credit). Meta enforces mandatory broad age targeting (18-65+) for these categories to prevent discrimination.
Before you can create or use Custom Audiences, your ad account must accept Meta's Custom Audience Terms of Service. This agreement covers data handling, privacy requirements, and permitted use of customer data.
You attempted to use the legacy 'Connections' targeting feature (target people who like your Page, friends of people who like your Page, etc.) which Meta has deprecated and removed from the API.
You tried to change the campaign objective after the campaign has already been created. Meta permanently locks the objective at campaign creation time—this is by design, not a bug.
The start date, end date, or dayparting schedule you configured for the ad set is invalid. Common causes include setting an end date in the past, setting a start date after the end date, or specifying dayparting hours that are impossible in the selected timezone.
You've exceeded the maximum number of ad sets allowed within a single campaign. Meta caps this to maintain system performance and prevent advertisers from creating unmanageably fragmented campaign structures.
When using Campaign Budget Optimization (CBO), each ad set within the campaign has a minimum spend floor. Your campaign's total budget divided across all ad sets doesn't meet the per-ad-set minimum requirement.
The attribution/conversion window you selected doesn't align with the optimization event or campaign objective. For example, selecting a 1-day click window for an event that typically takes 7+ days to convert.
The events sent through the Conversions API (server-side) don't match or properly deduplicate with the events sent by your Facebook Pixel (browser-side). Meta is seeing double-counted or mismatched conversion data.
Under Apple's ATT framework and Meta's Aggregated Event Measurement (AEM) protocol, each domain is limited to 8 prioritized conversion events. You're trying to optimize for an event that exceeds this 8-event cap or hasn't been configured in your event priority list.
The website domain associated with your ad's landing page or Pixel events hasn't been verified in Meta Business Manager. Domain verification is required for Aggregated Event Measurement, link editing, and to prevent unauthorized use of your domain.
You're trying to optimize for a conversion event on a domain that has Aggregated Event Measurement enabled, but you haven't assigned a priority ranking to this specific event. Without prioritization, Meta can't properly attribute iOS 14.5+ conversions.
Meta is receiving identical Conversions API events multiple times without proper deduplication parameters. This inflates your reported conversions and skews optimization, causing Meta to over-optimize and potentially overspend.
Your ad set exited the learning phase without gathering enough optimization events (typically 50 conversions in 7 days). Meta's algorithm couldn't collect sufficient data to reliably optimize delivery, so performance will be inconsistent and generally worse.
You made a 'significant edit' to an ad set that was in or had completed the learning phase. Meta considers changes to budget (>20%), audience, optimization event, creative, or bid strategy as significant edits that reset the learning phase counter.
Your ad is set to 'Active' but isn't actually delivering impressions. This can be caused by a combination of factors: budget exhaustion, scheduling conflicts, audience overlap with other ad sets, lost auction bids, or the ad being stuck in review.
Your ad frequency has climbed too high—the same people are seeing your ad repeatedly. Meta flags this when your frequency exceeds a threshold (typically 3-4+ for cold audiences), causing ad fatigue, declining click-through rates, and increasing costs.
Your frequency cap settings conflict with other campaign parameters. For example, you set a frequency cap of 1 impression per week but your budget and audience size would require much higher frequency to spend the budget, or you're using a campaign objective that doesn't support frequency capping.
The action you're attempting requires Business Manager Admin-level access, but your user role is set to Employee, Analyst, or Advertiser. Only Admins can perform certain sensitive operations like managing payment methods, adding users, or changing account settings.
Meta requires two-factor authentication (2FA) to be enabled on your Facebook account before you can access certain Business Manager features or manage ad accounts. This is a security requirement that cannot be bypassed.
You're trying to use an asset (audience, Pixel, Page, or catalog) that belongs to a different Business Manager than the one your ad account is in. Assets don't automatically share across Business Managers.
Meta now requires your business to be formally verified before you can access certain advertising features, run ads in regulated categories, or use the Marketing API at scale. Your Business Manager hasn't completed the verification process.
Your product catalog data feed failed to sync. Common causes include malformed CSV/XML/JSON, missing required fields (like `id`, `title`, `availability`, `price`, `link`, `image_link`), or the feed URL returning an error.
The product set you're using for your Dynamic Ads (Advantage+ Catalog Ads) contains zero products. This happens when filter rules exclude everything, products fail validation, or the catalog feed hasn't synced yet.
One or more products in your catalog are missing the `price` field, or the price is formatted incorrectly. Meta requires a valid numeric price with a currency code for every product in a catalog used for ads.
The format ID or creative payload schema generated by your dynamic scripts is completely unrecognized by Meta's validation layer.
Every ad on Meta requires a Facebook Page to act as its 'identity' or 'host' in the newsfeed. You haven't assigned one in the Ad level parameters.
You launched an 'App Install' campaign but forgot to permanently link your specific registered mobile application ID.
You're optimizing for a conversion event, but the Facebook Pixel assigned to the ad set hasn't fired or successfully received any data historically from that specific event within the localized testing window.
You targeted a region or geographical territory that Meta actively prohibits business operations in, normally due to strict US trade embargoes.
You selected placement settings demanding your ad runs specifically on Instagram, but the Instagram profile connected to your Business Manager is abruptly unlinked or you failed to assign one.
Try adjusting your search terms or checking your spelling.
The Automation Engine supercharges your Instagram and Facebook Ad performance using conditional automation™ via signals like weather, daypart, Amazon availability and more.