A Facebook Sandbox Ad Account is a test ad account tied to an app in Meta for Developers, where ads can be created but are never delivered. That makes it the closest official equivalent to a demo ad account, built for developers who need to test API calls without spending a cent or risking a live campaign.

Creating a Sandbox Ad Account takes 5 steps, from opening Meta for Developers to generating the access token that lets your code talk to the sandbox account. Below, this guide covers what the account is, how it works and how to create one, what to check before moving from sandbox testing to real ad delivery.

Table of Contents

What is a Facebook Sandbox Ad Account?

A Facebook Sandbox Ad Account is a test ad account that Meta provides through the Marketing API Sandbox. It supports read and write API calls, but ads created in it aren’t delivered and no money is spent.

what-is-sandbox-account
What is Sandbox Ad Account?

Within the Marketing API Sandbox, a Sandbox Ad Account connects 4 components: the Meta for Developers app, the Marketing API, the Sandbox Ad Account itself and the access token.

  • Meta for Developers app: Holds the Marketing API product and the link to the Sandbox Ad Account
  • Marketing API: The interface your code calls to create and read campaigns, ad sets and ads
  • Sandbox Ad Account: The test account that stores those objects without delivering them
  • Access token: The credential, issued for a user or system user, that authorizes each API call

As an expert at GDT Agency with nearly 10 years of working with Facebook Ads via multiple account types, from standard to Facebook agency accounts, I have seen many advertisers believe that renting an agency ad account comes with some kind of built-in test mode. In reality, an agency account behaves exactly like a standard ad account. Any campaign created inside it will deliver and spend real budget the moment billing is attached.

How does it work?

A Sandbox Ad Account works by linking a test ad account to your Meta app, so API calls made with an access token create campaigns, ad sets and ads inside the sandbox account. But they exist only inside the sandbox and are never delivered.

In practice, the flow runs 4 stages: create or open an app in Meta for Developers, enable the Marketing API, create and link its Sandbox Ad Account. Then use the sandbox account ID in API calls to build and inspect test objects. This validates your request structure, permissions and parsing.

What can you test in a Sandbox Ad Account?

In a Sandbox Ad Account, you can test your Marketing API integration, including campaign and ad set management, creating ads and creatives, permissions, request formats and workflows.

  • Campaign management: Create, read, update and delete campaigns through the API
  • Ad set management: Build and inspect ad sets, including objectives, budgets, schedules, targeting fields and statuses
  • Ads and creatives: Create ad objects and link them to ad sets
  • Permissions: Confirm that your access token, app permission and account linkage work before moving to a live account
  • Request format: Validate request formats, required fields, error messages, pagination and how your application parses API responses
  • Workflow: Retrieve the sandbox and the test objects you created, so you can test listing and reporting-style calls at a structural level

>>> Understanding how Facebook ad account infrastructure works can also help you choose the right way to test Facebook Ads without spending real money.

How to create a Facebook Sandbox Ad Account?

Creating a Sandbox Ad Account requires 5 steps: sign in to Meta for Developers, create or open an existing app, add the Marketing API product, create a Sandbox Ad Account and generate an access token.

create-sandbox-ad-account
How to create Sandbox Ad Account

Here’s how the setup unfolds:

  1. Sign in: Go to developers.facebook.com and sign in with a Meta for Developers account.
  2. Create or open app: Create a new app, or open an existing one you manage.
  3. Add the Marketing API product: Add the Marketing API product to that app from the app dashboard.
  4. Create a Sandbox Ad Account: Inside the dashboard, create a Sandbox Ad Account and link it to the app.
  5. Generate an access token: Generate an access token, either a standard user token or a system user token and use it to call the Graph API against the sandbox account.

This is Meta’s officially supported test environment for the Marketing API, built so developers can call campaign, ad set and ad endpoints without any risk of real spend. Once set up, ads created inside it are never delivered, so no impressions, clicks, or spend accrue and no payment method is required.

How to Test Meta Ads & API using a Sandbox Ad Account?

Beyond the basics, developers and technically minded marketers often need to understand how the Sandbox Ad Account behaves under real API usage, where its limits lie, and how it compares to the informal “testing account” concept many marketers use instead.

How do you enable ads_read permission for Sandbox testing?

Enabling ads_read for sandbox testing happens through the same access token generated during setup. The permission is scoped at the token level, rather than toggled separately inside the account.

When you generate a user or system user token for your Sandbox Ad Account, you request the ads_read scope alongside any other Marketing API permissions your app needs. Meta grants it against the sandbox environment without the stricter review process that production apps face.

In practice, this means sandbox testing is far more forgiving than requesting the same permission for a live production ad account. Meta typically requires an App Review process before ads_read becomes available for accounts you don’t own. Since sandbox data is isolated and non-delivering, Meta treats it as low risk and unlocks the permission faster, which is exactly why it’s the recommended starting point before applying for live API access.

ads-read-permission
How do you enable ads_read permission for Sandbox testing?

What is the difference between a Sandbox Account and a testing account?

A Sandbox Account and a testing account solve 2 different problems:

  • The Sandbox is an API only environment with zero real delivery.
  • A testing account is a real ad account used deliberately for small scale experiments.

The confusion is understandable since both terms get used loosely, but they sit in different parts of Meta’s ecosystem.

The table below lines up both concepts side by side, so it’s clear which one fits your situation before you build around either:

FeatureSandbox Ad AccountTesting Ad Account
PurposeAPI development & integration testingSmall-scale ad experiments
Created whereInside the Meta for Developers dashboardInside Business Manager
Ads deliveredNoYes
Billing requiredNoYes
Real spend possibleNoYes

Are there any limitations on Sandbox Ad Accounts?

Yes, Sandbox Ad Accounts come with several real limitations compared to live accounts. The ads inside them never serve. Because delivery is disabled by design, insights typically return zero or placeholder data, so you can’t validate anything tied to real-time optimization, pacing, or delivery diagnostics in the sandbox.

Beyond delivery, a few other constraints matter for anyone building on top of it:

  • Feature limitations: not every feature behaves like production; some advanced or newer capabilities may be partially supported, disabled, or dependent on assets like verified domains or real Pages.
  • Lower API rate limits: sandbox apps usually run on the Development tier, with roughly 300 plus 40 times the number of active ads in management calls per hour, compared to around 100,000 plus the same multiplier on the Standard tier, according to Meta’s official rate limiting documentation.
  • Data isolation: sandbox data never appears in production and can’t be used to build historical performance or train audience models for real campaigns.

Taken together, these limits confirm that Meta designed the sandbox purely for development, testing and demonstration, not as a substitute for a live environment at scale.

What do you need to prepare before moving from Sandbox test to production?

Moving from a Sandbox Ad Account to production, prepare 4 things: a real ad account and Business Manager, permissions and access level, a valid long-lived token strategy and a safe rollout plan for spend, errors and compliance.

Since sandbox testing never touches billing or real delivery, transition to production introduces financial risk. GDT Agency recommends a staged rollout that lets you experience real delivery while limiting financial risk.

Follow 4 steps:

  1. Create a new Business Manager dedicated just to this learning phase.
  2. Create a new ad account inside it with no card attached yet.
  3. Once you’re comfortable, add a card and set a low account spending limit, then run a campaign with a small daily budget, around $1 to $2, for a short observation period.
  4. Monitor performance closely for the first 24 to 48 hours, then pause or delete the campaign once you’ve learned what you need.
prepare-before-moving-from-sandbox-test-to-production
What do you need to prepare before moving from Sandbox test to production?

If your campaigns will run through a product catalog rather than a single landing page, there’s one more piece to prepare beyond a Facebook merchant ad account, which is a separate account type built specifically for managing catalog and commerce data rather than campaign delivery. Sandbox testing doesn’t touch this at all, so it’s worth setting up in parallel once you know your campaigns will involve product ads.

Key Takeaways for Sandbox Ad Account

A Facebook Sandbox Ad Account is a developer test account, linked to an app in Meta for Developers, that lets you create and read campaigns, ad sets, and ads through the Marketing API without them being delivered or billed. Setting one up follows a 5-step path: open Meta for Developers, create or open an app, add the Marketing API product, create the account, and generate an access token. In short, it is the safest place to test API integrations, and the limits you meet there tell you when it is time to move to a live ad account.

  • Create the Sandbox Ad Account from an app in Meta for Developers, not from Ads Manager.
  • Generate an access token with ads_read, and add ads_management when your test creates objects.
  • Check your results against the sandbox limits before trusting them, since delivery-based data stays at zero.
  • Prepare a billing-ready ad account, the right access level, and real assets before going live, then roll out with a small budget

FAQs

Is a Sandbox Ad Account the same as a Facebook Ads demo account?

No, Facebook doesn’t offer a public demo account that you can log into to run real ads for free. A Sandbox Ad Account is Meta’s own term for the API only test environment.

Is a Sandbox Ad Account free to use?

Yes, ads in a Sandbox Ad Account are never delivered, so no payment method is needed and no spend or impressions accrue. There is no ad spend to pay for at any point in the sandbox

Can I test custom audiences in the Sandbox ad account?

No, Meta’s Sandbox Ad Account is intended for testing Marketing API calls against a limited subset of APIs. It doesn’t behave like a production ad account and isn’t a substitute for validating audience matching, delivery or reporting.

Does using a Sandbox Ad Account affect your live ad accounts?

No. Sandbox ad accounts are isolated from production Business Manager and ad accounts, so campaigns, ads, and data created in the sandbox never appear in a live account. For the same reason, sandbox activity cannot build historical performance, audience learning, or model training for real campaigns.

Do you need an app to create a Sandbox Ad Account?

Yes. A Sandbox Ad Account is created from the app dashboard in Meta for Developers and linked to your app. The app’s Marketing API product and its access token are what let you call the sandbox account.