# What You Can Do with the Agent
Source: https://docs.adstellar.ai/agent/capabilities
Everything the AdStellar Agent can do — create ad creative, work with AI actors, analyze performance, and launch Meta campaigns.
The Agent covers the full advertising workflow — from making the creative to launching it and keeping it optimized. This page walks through what it can do, with example prompts you can paste straight into the chat.
The home screen also groups these into a launcher: **Create**, **Actors**, **Optimize**, and **Launch**. Hover an icon for a description, or click it for ready-made starter prompts.
## Create ad creative
Generate ready-to-run ads from a description, a product, a URL, or a competitor's ad.
### Image ads
Static image ads in any style:
* Clean studio product showcases
* Lifestyle / UGC-style shots with your product in real-world use
* Before / after comparisons
* Testimonial graphics with quote copy
* A/B visual variations of the same product
* Restyle a competitor's image using your product
**Try:** *"Create a clean studio-style product showcase image ad for my \[product]."* or *"Generate 4 visual variations of my \[product] so I can A/B test them."*
### Video ads
Talking-actor and UGC-style videos. There are two main styles, and the Agent will help you pick:
* **Exact-script videos** — the actor says your script word-for-word. Best when you have specific claims, brand language, statistics, or CTAs that must be said verbatim.
* **Natural / realistic UGC** — looks like a real person filmed a selfie video; the delivery is natural and paraphrased rather than word-for-word. Best for authentic-feeling reviews and testimonials.
Common requests include founder/expert talking heads, product demos, and customer-testimonial styles.
**Try:** *"I want a realistic UGC review video that paraphrases my script naturally."* or *"I want a talking-actor video where the actor reads my exact script word-for-word."*
### Ads from a URL
Paste a landing page or product URL and the Agent can set up the product, pull in details, and generate matching image or video ads — keeping the messaging aligned with the page.
**Try:** *"Set up a brand-new product from this URL and make an ad: \[url]"* or *"Make a video ad that matches the messaging on this landing page: \[url]"*
### Recreate a competitor's ad
Reverse-engineer an ad you paste in — clone the visual style, match the pacing and structure, adapt just the hook/script, or analyze what makes it work before recreating it for your product.
**Try:** *"Clone this competitor video's style but feature my product instead."* (then paste the reference)
## Work with AI actors
AI actors are reusable, consistent characters you can put in image and video ads.
* **Create custom actors** from a description or a reference photo
* **Browse your actor library** or the built-in **stock actor library**
* **Place your product in an actor's hands**, or have them wear / use / demo it
* **Generate variations** of an actor — different outfits, scenes, or expressions
**Try:** *"Create a new AI actor from this photo,"* *"Show me my AI actors,"* or *"Create a lifestyle image of one of my actors using my product."*
## Analyze performance
Get visibility into what's working that goes beyond Meta Ads Manager. (Requires a connected Meta account.)
* **Rank your top performers** — creatives, copy, and audiences by score
* **Find underperformers** — what to cut
* **Spot trends** — what's trending up or down over a time window
* **Compare** — two campaigns or creatives side by side, or two time periods
* **Review a campaign** — what changed and what to do next
* **Deep-dive your winners** — analyze your best creatives so the Agent understands what makes them work
**Try:** *"Show me my top-performing creatives ranked by score,"* *"What should I cut?,"* or *"Why did my CPA go up last week?"*
## Improve existing ads
Iterate on creative you already have:
* Change the copy or text overlay
* Tighten the hook to grab attention faster
* Shift the tone (more urgent, or softer and friendlier)
* Add captions / subtitles to a video
* Spin off A/B variants of an existing ad
**Try:** *"Tighten the hook on this ad,"* or *"Generate 3 A/B variants of my best-performing ad."*
## Plan strategy
Think through the bigger picture:
* New product launch plans
* Holiday / seasonal campaigns
* Reactivating a struggling product
* Funnel-stage creative ideas (top, middle, bottom of funnel)
* Audience and targeting recommendations
**Try:** *"I'm launching a new product — help me plan the creative and campaign strategy."*
## Launch & manage Meta campaigns
Take creative live and manage it without leaving the chat. (Requires a connected Meta account.)
* **Launch a new campaign** using creatives you already have, or let the Agent pick proven creatives and audiences for a product
* **Launch paused for review** — build the full campaign but create it paused so you can check it in Meta before it spends
* **Clone a past winner** — replicate the structure of a previous winning campaign
* **Build a "greatest hits" campaign** — find your top creatives from a recent window and relaunch them with fresh copy
* **Manage live campaigns** — pause, resume, archive, and adjust budgets
**Try:** *"Launch a campaign for my \[product] — pick proven creatives and audiences,"* or *"Build me a greatest-hits campaign from my top creatives in the last 30 days."*
Every launch and change is shown on a confirmation card with the cost before anything goes live. For the manual launch flow, see the [Campaign Launch](/guides/launch/overview) guides.
## Work on its own
Beyond what you ask in a conversation, the Agent can keep an eye on your account **between sessions** — scheduled check-ins, near-real-time guardrail alerts, and rules that pause underperformers and scale winners while you're away. Most of it is suggest-first: the Agent proposes an action and waits for your tap, so nothing changes your account until you approve it.
**Try:** *"Every Monday at 8:30am, summarize last week's results,"* or *"Watch my campaigns and pause any ad set spending with no conversions."*
How the Agent works on its own — scheduled tasks, guardrail alerts, and auto rules, plus the Activity log of everything it did.
## Ask & look things up
You can also just ask:
* *"What products do I have set up?"*
* *"What's in my brand kit?"*
* *"How do I connect my Meta ad account?"*
* *"What's the difference between exact-script and realistic UGC videos?"*
* *"How do credits work?"*
How the Quick, Standard, and Deep research modes differ — and how credits are charged.
# Modes & Credits
Source: https://docs.adstellar.ai/agent/modes-credits
How the AdStellar Agent's Quick, Standard, and Deep research modes work, and how chat credits are charged.
The Agent can run at different depths depending on the job. You control this with **modes**, and you only pay for the work the Agent actually does.
## Modes
Every message runs in one of three modes. Faster modes answer quickly; deeper modes do more thinking and use more tools for tougher problems. You pick the mode from the selector in the message box.
| Mode | Best for | Speed vs. depth |
| ------------------------ | ---------------------------------------------------------- | ---------------------- |
| **Quick** | Fast lookups and simple tasks | Fastest, lightest |
| **Standard** *(default)* | Most create, improve, and analyze tasks | Balanced — recommended |
| **Deep research** | Big analyses and multi-step planning across many campaigns | Most thorough |
**Standard** is the default and the right choice for most requests. Reach for **Deep research** when you're asking the Agent to review everything — for example, auditing all your campaigns and creatives at once, or planning a launch end to end. Use **Quick** for simple lookups like "what products do I have?"
### Switching modes
Change the mode anytime in the composer before you send a message. If you start a request in **Quick** mode that clearly needs more depth, the Agent gives you a quick first take and offers a one-click card to re-run it in a deeper mode. It never switches modes silently, because the mode affects the per-message credit cap.
## How credits work
The Agent is a working media buyer, not a basic chatbot — so **Agent messages are metered in credits**, priced by how much work each turn does:
* **Glue turns are free** — tapping a suggested chip, confirming a detail, and short clarifying replies that don't trigger any analysis or tools don't use any credits.
* **Working turns use credits** — when the Agent pulls performance data, runs analysis, researches, or plans across campaigns, that message is charged (more work = more credits). Most real requests fall here.
Each mode has a **maximum cost per message**, so you always know the ceiling:
| Mode | Max credits per message |
| ----------------- | ----------------------- |
| **Quick** | Up to 200 |
| **Standard** | Up to 700 |
| **Deep research** | Up to 1,700 |
Any paid action is confirmed before it runs, so there are never silent charges or surprises. Credits are priced to be plentiful — a typical message is a small fraction of your monthly balance, and your balance lives on the Billing & Subscription page.
Images, videos, and campaign launches the Agent creates for you are charged at the **same rates as everywhere else in AdStellar** — not out of the per-message chat cap. You'll always see the cost and confirm before anything is generated or launched. See [How Credits Work](/billing/credits-explained) for those rates.
## Running low on credits
If your balance is low, the Agent automatically keeps you in the most capable mode you can fully afford. If you run out, you'll be prompted to upgrade or add credits before running a paid message — but you can still get help and quick answers.
To top up or change your plan, see [Plans & Credits](/billing/plans-credits) and [Manage Subscription](/billing/manage-subscription).
The full list of things the Agent can create, analyze, and launch.
# AdStellar Agent
Source: https://docs.adstellar.ai/agent/overview
Your built-in AI media buyer — create ads, analyze performance, and launch Meta campaigns from a single chat.
The **AdStellar Agent** is a conversational AI assistant built into AdStellar. Think of it as your own media buyer that you can talk to in plain language. Ask it to make an ad, review your performance, launch a Meta campaign, or set up rules that manage your ads for you — and it does the work using your own products, brand, creatives, and live ad data.
It's the home screen after you log in, labeled **Agent** in the left sidebar, and lives at **[app.adstellar.ai/chat](https://app.adstellar.ai/chat)**.
It also works in **Slack** — mention `@AdStellar` in any channel or send it a direct message. See [Use the Agent in Slack](/getting-started/use-agent-in-slack).
The Agent works on top of everything else in AdStellar. Anything it creates (images, videos, campaigns) shows up in your projects, media library, and campaigns just like work you do by hand — and you can keep editing it there.
## What you can do
In one conversation, the Agent can:
* **Create ad creative** — image ads, talking-actor videos, UGC-style videos, and ads built from a landing-page URL or a competitor's ad.
* **Work with AI actors** — create custom actors, browse the stock library, and put your product in an actor's hands.
* **Analyze performance** — rank your top creatives, copy, and audiences; spot underperformers and trends; compare campaigns; and explain *why* a metric changed.
* **Launch & manage Meta campaigns** — build and publish campaigns, clone past winners, build a "greatest hits" of your top creatives, and pause, resume, archive, or adjust budgets.
* **Work on its own** — scheduled check-ins, guardrail alerts, and rules that monitor and act on your ads between sessions (pause underperformers, scale winners, catch creative fatigue). See [Tasks](/agent/tasks).
* **Answer questions** — how-to help, strategy advice, and quick lookups about your account.
See the full breakdown in [What You Can Do](/agent/capabilities).
## How it works
### Just talk to it
Describe what you want in everyday language — for example, *"Make me a UGC video for my new serum"* or *"Which of my ads should I cut?"* The Agent asks the minimum questions it needs, recommends a sensible default when a request could go several ways, and then gets to work.
### It knows your account
The Agent can look up your own AdStellar data — products, brand kit, projects, assets, AI actors, campaigns, and live Meta performance — so its answers and creative are specific to you, not generic. It only ever has access to **your own team and workspace data**.
Performance analysis, launching, and campaign management require a connected Meta ad account. If you haven't connected Meta yet, see [Connect Meta](/getting-started/connect-meta). Creative generation works without it.
### Nothing happens without your confirmation
The Agent is confirmation-first. Before it generates creative, launches a campaign, changes a budget, or pauses or resumes a campaign, it shows you a **confirmation card** with the details and waits for you to click **Confirm**. The exact credit cost is always shown up front, so there are no surprises. Click **Cancel** and nothing happens.
### Long jobs run in the background
Video generation and other heavy tasks run in the background. You'll see a progress card in the chat, and the finished result drops back into the conversation when it's ready. You can keep chatting, switch to another conversation, or leave the page and come back.
### Attach images
You can paste or upload images directly into the chat — for example, a competitor's ad you want to recreate, or a product photo you want featured. The Agent can analyze them and use them as references.
## Conversations
Open the Agent and type your request, or pick a starter from the launcher icons on the home screen. A new conversation is created as soon as you send your first message.
Past conversations are saved in the left sidebar. Click any one to continue it — the Agent keeps the full context of that thread.
Your chats are **private to you** by default (the **Me** tab). You can share a conversation with specific teammates; shared chats appear under the **Team** tab for everyone they're shared with.
## Modes & credits at a glance
The Agent has three **modes** that trade speed for depth — **Quick**, **Standard** (the default), and **Deep research**. You pick the mode in the composer.
The Agent is a working media buyer, so messages are **metered in credits**: glue turns (chip taps, confirmations, short clarifications that run no analysis) are free, and turns where the Agent does real work cost more, up to a per-message maximum that depends on the mode (Quick up to 200, Standard up to 700, Deep research up to 1,700). Any paid action is confirmed before it runs, so there are never silent charges, and credits are priced so a typical message is a small fraction of your monthly balance.
Learn more in [Modes & Credits](/agent/modes-credits).
## Quick start
Log in to AdStellar — you'll land on the Agent home screen. (You can also click **Agent** in the sidebar.)
Try a starter prompt or type your own, e.g. *"Make an image ad for my best-selling product"* or *"Show me my top creatives from the last 30 days."*
The Agent confirms the details it needs and proposes an approach.
Review the confirmation card (including the credit cost) and click **Confirm**. The result lands right in the chat.
Prompt ideas, best practices, and answers to common questions about the Agent.
# Tasks — the Agent working on its own
Source: https://docs.adstellar.ai/agent/tasks
Let the AdStellar Agent keep an eye on your account between sessions — scheduled check-ins, guardrail alerts, and rules that pause losers and scale winners while you're away.
Most of the Agent works in a conversation — you ask, it does. **Tasks** is the other half: the work the Agent does **on its own**, between sessions, so your account keeps moving when you're not in the app.
It's the **Tasks** item in the left sidebar, at **[app.adstellar.ai/tasks](https://app.adstellar.ai/tasks)**.
Everything a task does is recorded **in the app** — the Activity feed is the source of truth. Slack is an additive push: if you've [connected Slack](/getting-started/use-agent-in-slack), the Agent can message you there too, but it never has to.
## Two kinds of tasks
Under one surface there are two engines, and the Agent picks the right one for what you ask:
* **Agent tasks** — open-ended work on a schedule, run by the full Agent (the same AI as the chat). Great for recaps, scans, and "check on X and tell me if Y." Because they run the Agent, they **use credits** like any other turn.
* **Auto rules** — deterministic *if-this-then-that* rules that watch your live ads and act: pause underperformers, scale winners, rotate creative, archive, or just alert. They're re-checked continuously and **run for free**.
You don't pick the engine yourself — just describe what you want and the Agent sets up the right kind. Auto rules are authored in plain English through chat rather than a manual rule builder.
## What runs out of the box
As soon as your team **connects Slack**, AdStellar seeds a few **system tasks** so you get value before configuring anything:
| Task | When it runs | What it does |
| ------------------------------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Account heartbeat** | Twice on weekdays | Scans your paid media *and* your team's Slack discussion, and messages you only when something genuinely needs attention — a winner to scale, a problem to fix, a timely recap. Stays quiet the rest of the time. |
| **Workflow discovery** | Twice a week | Looks for one high-value automation you're not using yet and suggests it. |
| **Anomaly & guardrail alerts** | In real time | Flags urgent problems the moment they happen — CPA spikes, runaway spend, or spend with no conversions — and recommends the safest fix. |
System tasks are marked **System** and can be **paused or retimed**, but not deleted. They only run once Slack is connected, since that's where their updates land.
## Create your own
You don't need a form — just tell the Agent what you want and when.
In the chat (or in Slack), say something like *"Every Monday at 8:30am, summarize last week's results,"* or *"Watch my campaigns and pause any ad set spending over \$50 with no conversions."*
The Agent turns your request into a task and shows you exactly what it will do and when, before anything is saved.
Once you approve, the task appears on the **Tasks** page and starts running on its schedule. You can also create a task from scratch with **New task**.
Ask in a Slack **channel** and updates post there; ask in a **DM** and they stay private to you.
## Suggest-first, by default
Tasks are cautious about taking action on your behalf:
* **Ask in Slack** *(default)* — the task does its analysis, then proposes any action as a **Confirm / Cancel** card and waits for your tap. Nothing changes your account until you approve it.
* **Run Auto** — for tasks you trust, an Auto rule can run automatically and report back **after** it acts, so routine optimizations happen without you in the loop.
You'll see the current mode as a badge on each task, and you can change it anytime.
## The Activity feed
The **Activity** tab (top of the Tasks page) is the running log of everything your Agent did on its own. Each run shows:
* A **status** — Success, Skipped, Blocked, or Failed
* The **trigger** — scheduled, an anomaly, or "Ran now"
* A one-line **preview** of the result, plus a **Sent to Slack** tag if it was pushed there
* **View result** to open the full thread for runs that produced one
Quiet scans that found nothing worth reporting show up as **"Scanned — nothing to report,"** so you can always confirm the Agent is watching even on a slow day.
## Managing tasks
On the **Tasks** page you can filter by **All / Mine / System**, and for each task:
* **Pause or resume** it with the toggle
* **Run now** to fire an agent task immediately
* Open **History** to jump to that task's runs in Activity
* **Edit** an agent task's prompt and schedule, or **Delete** tasks you created (system tasks can't be deleted)
## Credits
Agent tasks run the Agent, so each run is **metered in credits** just like a chat turn — and any action it would take is confirmed first, so there are no silent charges. Auto rules are deterministic checks and **don't use credits**. See [Modes & Credits](/agent/modes-credits) for how metering works.
How the Agent works, conversations, and confirmations.
Connect Slack so tasks can reach you where your team works.
# Tips & FAQ
Source: https://docs.adstellar.ai/agent/tips-faq
Get the most out of the AdStellar Agent — prompt tips, best practices, and answers to common questions.
## Tips for better results
You don't need special syntax. Describe the outcome — *"Make a UGC video that feels like a real customer review for my serum"* — and let the Agent ask follow-ups.
If you mention a specific product, campaign, creative, or actor by name, the Agent looks it up directly instead of guessing — so you get more accurate results faster.
Use **Quick** for simple lookups, **Standard** for most work, and **Deep research** for big audits or end-to-end planning across many campaigns. See [Modes & Credits](/agent/modes-credits).
Drop in a competitor's ad to recreate, or a product photo to feature. The Agent can analyze images and use them as references.
After the Agent makes something, just ask for changes — *"make the hook punchier,"* *"try a brighter background,"* *"give me 3 more variations."* It keeps the context of the conversation.
The Agent can explain AdStellar itself — credits, brand kits, AI actors, video styles, connecting Meta, and more. When in doubt, just ask.
## Frequently asked questions
It's the home screen after you log in, labeled **Agent** in the left sidebar, at [app.adstellar.ai/chat](https://app.adstellar.ai/chat).
No. The Agent is confirmation-first. It never generates creative, launches a campaign, changes a budget, or pauses/resumes a campaign without showing you a confirmation card with the cost and waiting for you to click **Confirm**. Click **Cancel** and nothing happens.
Yes — the Agent is a working media buyer, so messages that put it to work use credits. When it pulls performance data, runs analysis, researches, or plans campaigns, that turn is charged, priced by the amount of work done (up to a per-message cap by mode: Quick up to 200, Standard up to 700, Deep research up to 1,700). Lightweight glue turns — tapping a suggested chip, confirming a detail, or short clarifying replies that don't run any analysis — are free. Any paid action is confirmed before it runs, so there are no silent charges, and credits are priced so a typical message is a small fraction of your monthly balance. See [Modes & Credits](/agent/modes-credits).
Only **your own team and workspace data** — your products, brand kit, projects, assets, AI actors, campaigns, and live Meta performance. It uses this to make answers and creative specific to your account.
Your conversations are **private to you** by default (the **Me** tab). You can choose to share a conversation with specific teammates; shared chats then appear under the **Team** tab for the people you shared with.
Creative generation works without it. Performance analysis, launching campaigns, and campaign management require a connected Meta ad account — see [Connect Meta](/getting-started/connect-meta).
Yes. It can analyze your existing creatives and campaigns, improve existing ads (copy, hook, tone, captions, A/B variants), and relaunch past winners.
Video generation runs in the background. You'll see a progress card, and the finished video drops back into the chat when it's ready — you can keep working or leave the page and come back.
If you're in **Quick** mode and your request needs more depth (like a multi-campaign audit), the Agent gives a quick first take and offers a one-click button to re-run it in a deeper mode. It does this because deeper modes have a higher per-message credit cap, so it asks rather than escalating silently.
You can still get help and quick answers, but you'll be prompted to upgrade or add credits before running a paid message. See [Plans & Credits](/billing/plans-credits).
Yes. Anything the Agent creates lands in your projects, media library, and campaigns, so you can keep editing it in the rest of AdStellar.
## Troubleshooting
The Agent requires an active team. If you're mid-signup or don't have an active team yet, you'll be sent to the Canvas. Finish setting up your account and team, then reopen the Agent.
These require a connected Meta ad account with imported campaigns. See [Connect Meta](/getting-started/connect-meta) and [Import Campaigns](/getting-started/import-campaigns).
Top up or upgrade from [Plans & Credits](/billing/plans-credits), or switch to a lighter mode (Quick) for simpler tasks.
## Related
What the Agent is and how it works.
The full list of Agent capabilities with example prompts.
How modes and credit charges work.
Reach the AdStellar team.
# Authentication
Source: https://docs.adstellar.ai/api-mcp/authentication
OAuth 2.1 and team-scoped API keys for the AdStellar MCP server and public API.
The AdStellar MCP server and REST API support two credentials:
1. **OAuth 2.1** (recommended for interactive MCP clients like Claude and ChatGPT)
2. **API keys** (recommended for your own agents and scripts)
Both resolve to the same team + scopes; every tool runs as your team with full tenant isolation.
## OAuth 2.1
MCP-aware clients walk the flow automatically the first time they connect to `https://app.adstellar.ai/api/mcp`:
1. The server answers `401` with a `WWW-Authenticate` header pointing at the discovery metadata (`/.well-known/oauth-protected-resource`).
2. The client registers itself via Dynamic Client Registration (RFC 7591) at `/api/oauth/register`.
3. You're redirected to the AdStellar consent screen: pick the **team** and the **scopes** to grant.
4. The client exchanges the resulting code for an access + refresh token pair (PKCE, S256-only) at `/api/oauth/token`.
Access tokens live 1 hour; refresh tokens 30 days and rotate on every use. Nothing needs to be configured by hand — just paste the MCP URL into your client.
Endpoints:
| Endpoint | Purpose |
| --------------------------------------------- | ----------------------------------------- |
| `GET /.well-known/oauth-authorization-server` | Discovery metadata (RFC 8414) |
| `POST /api/oauth/register` | Dynamic client registration (RFC 7591) |
| `GET /api/oauth/authorize` | Consent screen (requires AdStellar login) |
| `POST /api/oauth/token` | Code exchange + refresh rotation (PKCE) |
## API keys
For unattended agents, create a team-scoped key (`ast_live_...`) in Settings → Developers or via the management API (owner/admin):
```bash theme={null}
curl -X POST https://app.adstellar.ai/api/settings/api-keys \
-H "Content-Type: application/json" \
-H "Cookie: " \
-d '{
"teamId": "",
"name": "my-agent",
"scopes": ["org:read", "models:read", "analytics:read", "assets:read", "campaigns:read", "copy:write", "creatives:write", "videos:write"]
}'
```
The plaintext key is returned **exactly once** — only its SHA-256 hash is stored.
## Scopes
| Scope | Unlocks |
| ----------------- | ------------------------------------------------------------------------------------------------------------ |
| `org:read` | `get_team_info`, `get_credit_balance`, `get_brand_kit`, `list_products`, `list_projects`, `list_ad_accounts` |
| `models:read` | `list_models`, `list_avatars`, `list_voices` |
| `analytics:read` | `query_performance` |
| `assets:read` | `search_assets`, `lookup_asset`, `get_generation_status` |
| `campaigns:read` | `list_campaigns`, `get_launch_status`, `list_launch_drafts`, `get_launch_draft` |
| `copy:write` | `generate_ad_copy` |
| `creatives:write` | `generate_image` |
| `videos:write` | `generate_video` |
| `launches:write` | `create_launch_draft`, `delete_launch_draft` |
Tools you don't have the scope for are hidden from `tools/list` and rejected with a clear error.
## Use the credential
```
Authorization: Bearer ast_live_... # API key
Authorization: Bearer ast_at_... # OAuth access token
```
## Rate limits
120 requests per minute per credential, per endpoint. `429` responses include a `Retry-After` header.
## Security notes
* Keys and tokens are never logged; only hashes are stored.
* Generation tools deduct credits from your team's balance exactly as if you'd run them in the app.
* `create_launch_draft` never publishes ads — launching real campaigns (spend) stays a human action in the dashboard.
* Revoke API keys anytime (`DELETE /api/settings/api-keys/?teamId=...`); OAuth grants expire with their refresh tokens.
# AdStellar MCP Server
Source: https://docs.adstellar.ai/api-mcp/overview
Connect Claude, ChatGPT, Cursor, or your own agents to AdStellar over the Model Context Protocol — generate copy, query performance, browse models and avatars, and manage campaigns programmatically.
The AdStellar MCP server exposes the platform's creative-generation and ads-management surface as MCP tools, so any MCP-compatible client can drive AdStellar on your behalf.
**Endpoint** (streamable HTTP, stateless — no SSE required):
```
https://app.adstellar.ai/api/mcp
```
## What you can do
* **Generate ad copy** grounded in your brand kit (`generate_ad_copy`)
* **Query performance** across campaigns, ad sets, and ads (`query_performance`)
* **Discover models** — image, video, TTS, and lipsync registries with cost and capability metadata (`list_models`)
* **Browse avatars and voices** for talking-actor videos (`list_avatars`, `list_voices`)
* **Manage org data** — team info, credit balance, brand kit, products, projects, ad accounts
* **Search your asset library** and inspect campaigns and launches
## Multi-model by design
AdStellar is multi-model. The MCP does not expose one tool per model — instead:
1. Call `list_models` with a `capability` filter (`image`, `video`, `tts`, `lipsync`) to enumerate available models, their providers, costs, and limits.
2. Pass the chosen model's `id` as the `model` parameter of a generation tool. Omit it to use the default router (best quality-per-credit for the job).
## Credits & billing
Image and video generation over the MCP server **and** the REST API draw AI credits from your team's balance, exactly like generating inside the app. Ad copy and all read-only requests (analytics, model/avatar listings, status checks, org data) are free. Check your balance anytime with the `get_credit_balance` tool, and see per-model costs via `list_models`.
## Authentication
The MCP uses team-scoped API keys (`ast_live_...`). See [Authentication](/api-mcp/authentication). OAuth 2.1 is on the roadmap.
## Next steps
Create and scope your API key.
Connect Claude Desktop in two minutes.
Every tool, its scopes, and its parameters.
# Quickstart
Source: https://docs.adstellar.ai/api-mcp/quickstart
Connect an MCP client to AdStellar in a few minutes.
## Claude Desktop / ChatGPT (OAuth — recommended)
Add AdStellar to your `claude_desktop_config.json` with no key at all:
```json theme={null}
{
"mcpServers": {
"adstellar": {
"url": "https://app.adstellar.ai/api/mcp"
}
}
}
```
On first use the client registers itself, opens the AdStellar consent screen in your browser, and you pick the team + scopes to grant. Tokens refresh automatically.
## API key (for your own agents)
Create a key in Settings → Developers (or via `POST /api/settings/api-keys`), then:
```json theme={null}
{
"mcpServers": {
"adstellar": {
"url": "https://app.adstellar.ai/api/mcp",
"headers": {
"Authorization": "Bearer ast_live_YOUR_KEY"
}
}
}
}
```
Restart the client. You should see AdStellar's tools — try:
> "What's my current credit balance and which ad accounts are connected?"
> "Generate 5 headline variants for my default brand kit, bold tone, goal: drive trial signups."
> "Generate a 9:16 image ad for my product, 2 variations" — then "check the status of batch \"
> "How did my campaigns perform over the last 7 days, grouped by campaign?"
## REST API
Every MCP tool is also a REST endpoint — `POST /api/v1/tools/{toolName}` with the same bearer credential:
```bash theme={null}
curl -X POST https://app.adstellar.ai/api/v1/tools/get_credit_balance \
-H "Authorization: Bearer ast_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{}'
```
The full spec lives at the [API Reference](/api-reference) tab (or `GET /api/v1/openapi.json`).
## Raw JSON-RPC (for debugging)
```bash theme={null}
# Discover tools
curl -X POST https://app.adstellar.ai/api/mcp \
-H "Authorization: Bearer ast_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# Call a tool
curl -X POST https://app.adstellar.ai/api/mcp \
-H "Authorization: Bearer ast_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": { "name": "get_credit_balance", "arguments": {} }
}'
```
Supported methods: `initialize`, `ping`, `tools/list`, `tools/call` (single or batched). The server is stateless — every POST is self-contained.
## Building your own agent
1. Create a key with only the scopes your agent needs.
2. On startup, call `tools/list` to discover the tools visible to that key.
3. Call `get_team_info` to confirm which team you're acting on.
4. Use `list_models` before any generation call so you can pass an explicit `model` id (or omit it for the default router).
5. Generation is async: call `generate_image`/`generate_video`, then poll `get_generation_status` until `complete: true`.
# Tool Reference
Source: https://docs.adstellar.ai/api-mcp/tools
Every tool exposed by the AdStellar MCP server, with scopes and parameters.
All tools run as your team. Results are JSON. Errors come back as MCP `isError` content with a human-readable message.
Image and video generation tools consume AI credits from your team's balance; ad copy and every read-only tool below are free. Costs are per-model — use `list_models` to see them, and `get_credit_balance` to check your balance.
**Workspaces.** A credential is granted access to specific workspaces (chosen on the consent screen or when the API key is created). Call `list_workspaces` to see which ones you can act on. Workspace-scoped tools accept an optional `workspaceId` — pass one to target a single workspace, or omit it to span every workspace the credential can access (writes default to the primary workspace).
## Org
### `get_team_info`
Team name, plan, industry, member/workspace counts. **Scope:** `org:read`
### `get_credit_balance`
Current AI credit balance (available, reserved, included, used). **Scope:** `org:read`
### `get_brand_kit`
The team's brand kit: colors, fonts, tone of voice, description, buyer profiles.
**Scope:** `org:read` · **Params:** `brandKitId?` (omit for default kit)
### `list_products`
Products with name, description, url, linked brand kit.
**Scope:** `org:read` · **Params:** `limit?` (default 50)
### `list_projects`
Projects (asset folders) with item counts.
**Scope:** `org:read` · **Params:** `limit?` (default 50)
### `list_ad_accounts`
Connected Meta ad accounts: id, name, currency, timezone, status, last sync.
**Scope:** `org:read`
## Models
### `list_models`
The multi-model registry. Filter by `capability`: `image` | `video` | `tts` | `lipsync`. Returns id, provider, cost, and supported options per model. Pass a model's `id` as the `model` param of generation tools.
**Scope:** `models:read`
### `list_avatars`
Stock + custom talking-actor avatars: id, name, portrait, gender, age range, style, default voice.
**Scope:** `models:read` · **Params:** `includeCustom?` (default true), `limit?` (default 100)
### `list_voices`
ElevenLabs TTS voices. **Scope:** `models:read` · **Params:** `search?`, `limit?` (default 50)
## Copy
### `generate_ad_copy`
On-brand ad copy variants (headline, subheadline, CTA, optional offer + body). Free — no credits used.
**Scope:** `copy:write` · **Params:** `productId?`, `brandKitId?`, `count?` (1–10, default 5), `tone?`, `length?` (`short`/`medium`/`long`), `adGoal?`, `customInstructions?`
## Analytics
### `query_performance`
Synced Meta ads performance grouped by `breakdown` (campaign / ad set / ad / creative component) over a date range. Includes spend, impressions, clicks, results, ROAS, and budget fields.
**Scope:** `analytics:read` · **Params:** `breakdown?`, `preset?` (e.g. `last_7d`), `startDate?`/`endDate?` (YYYY-MM-DD), `adAccount?`, `campaignId?`, `adSetId?`, `limit?` (default 50)
Performance data is as fresh as the team's sync schedule — check `last_synced_at` in `list_ad_accounts`.
## Assets
### `search_assets`
Search the media library by file type, favorites, or name substring.
**Scope:** `assets:read` · **Params:** `fileType?` (`image`/`video`), `favoritesOnly?`, `search?`, `limit?` (default 25)
### `lookup_asset`
Full metadata for one asset, including Meta upload hashes and dimensions.
**Scope:** `assets:read` · **Params:** `assetId` (required)
## Campaigns
### `list_campaigns`
Campaigns launched through AdStellar: status, objective, budget, spend, dates.
**Scope:** `campaigns:read` · **Params:** `status?`, `limit?` (default 50)
### `get_launch_status`
Launch records with creative counts and goal tracking. **Scope:** `campaigns:read` · **Params:** `launchId?`, `limit?` (default 25)
## Generation (async)
Long-running generation uses a job pattern: the generate call returns an id immediately, and you poll `get_generation_status` until it completes.
### `generate_image`
Generate AI image ad creatives. Charges image credits per generation (aspect ratio × variations).
**Scope:** `creatives:write` · **Params:** `aspectRatios` (required: `1:1`/`4:5`/`9:16`/`16:9`), `instructions?` (required without references), `variationCount?`, `referenceAssetIds?`, `brandKitId?`, `productId?`, `renderMode?` (`express`/`studio`)
**Returns:** `batchId`, `generationIds`, `creditsConsumed`
### `generate_video`
Generate an AI video ad. `approach: "exact"` = talking actor reads your script (requires `actorId`, `scriptText`); `approach: "realistic"` = cinematic UGC from `scenePrompt`. Optional `model` id from `list_models`.
**Scope:** `videos:write` · **Params:** `approach` (required), `scriptText?`, `actorId?`, `voiceId?`, `scenePrompt?`, `model?`, `aspectRatio?` (default `9:16`), `durationSeconds?` (default 15), `variationCount?`, `productId?`, `productImageUrl?`, `tone?`
**Returns:** `projectId`
### `get_generation_status`
Poll a job: pass `batchId` (image) or `projectId` (video). Returns per-generation statuses, asset/video URLs when complete, errors when failed.
**Scope:** `assets:read` · **Params:** `batchId?`, `projectId?`
## Launch drafts
Launching real campaigns publishes ads and spends money — that stays a human action in the dashboard. Agents prepare drafts; humans launch.
### `list_launch_drafts`
List the team's launch drafts. **Scope:** `campaigns:read` · **Params:** `limit?` (default 50)
### `create_launch_draft`
Create a draft (ad account + creative/audience templates, or clone `fromTemplateId`). Requires an active subscription. Publishes nothing.
**Scope:** `launches:write`
### `get_launch_draft`
Full config of one draft. **Scope:** `campaigns:read` · **Params:** `draftId`
### `delete_launch_draft`
Delete a draft (does not affect live campaigns). **Scope:** `launches:write` · **Params:** `draftId`
## Coming next
* Campaign mutation tools (pause/resume/budget) with explicit-confirm flow
# Create a launch draft: a prepared campaign build (ad account + creative templates + audience templates + budget) that a human reviews and launches in the dashboard. Does NOT launch anything — no ads are published and no money is spent. Requires an active subscription.
Source: https://docs.adstellar.ai/api-reference/create-a-launch-draft:-a-prepared-campaign-build-ad-account-+-creative-templates-+-audience-templates-+-budget-that-a-human-reviews-and-launches-in-the-dashboard-does-not-launch-anything-—-no-ads-are-published-and-no-money-is-spent-requires-an-active-subscription
/openapi.json post /tools/create_launch_draft
Create a launch draft: a prepared campaign build (ad account + creative templates + audience templates + budget) that a human reviews and launches in the dashboard. Does NOT launch anything — no ads are published and no money is spent. Requires an active subscription.
# Delete a launch draft by id. Does not affect any live campaign.
Source: https://docs.adstellar.ai/api-reference/delete-a-launch-draft-by-id-does-not-affect-any-live-campaign
/openapi.json post /tools/delete_launch_draft
Delete a launch draft by id. Does not affect any live campaign.
# Generate AI image ad creatives for the team. Kicks off an async batch (Inngest) and returns a batchId immediately — poll get_generation_status for results. Charges credits: image cost per generation (aspect ratio × variation). Requires reference images or detailed instructions.
Source: https://docs.adstellar.ai/api-reference/generate-ai-image-ad-creatives-for-the-team-kicks-off-an-async-batch-inngest-and-returns-a-batchid-immediately-—-poll-get_generation_status-for-results-charges-credits:-image-cost-per-generation-aspect-ratio-×-variation-requires-reference-images-or-detailed-instructions
/openapi.json post /tools/generate_image
Generate AI image ad creatives for the team. Kicks off an async batch (Inngest) and returns a batchId immediately — poll get_generation_status for results. Charges credits: image cost per generation (aspect ratio × variation). Requires reference images or detailed instructions.
# Generate an AI video ad. Two approaches: "exact" (talking actor reads your exact script — requires actorId from list_avatars) or "realistic" (cinematic UGC from a scene prompt). Returns a projectId immediately — poll get_generation_status for results. Video is expensive; credits are reserved up front.
Source: https://docs.adstellar.ai/api-reference/generate-an-ai-video-ad-two-approaches:-"exact"-talking-actor-reads-your-exact-script-—-requires-actorid-from-list_avatars-or-"realistic"-cinematic-ugc-from-a-scene-prompt-returns-a-projectid-immediately-—-poll-get_generation_status-for-results-video-is-expensive;-credits-are-reserved-up-front
/openapi.json post /tools/generate_video
Generate an AI video ad. Two approaches: "exact" (talking actor reads your exact script — requires actorId from list_avatars) or "realistic" (cinematic UGC from a scene prompt). Returns a projectId immediately — poll get_generation_status for results. Video is expensive; credits are reserved up front.
# Get full metadata for one media asset by id, including its Meta upload hashes and dimensions.
Source: https://docs.adstellar.ai/api-reference/get-full-metadata-for-one-media-asset-by-id-including-its-meta-upload-hashes-and-dimensions
/openapi.json post /tools/lookup_asset
Get full metadata for one media asset by id, including its Meta upload hashes and dimensions.
# Get launch records for the team (launch type, campaign, ad account, creative counts, goal tracking). Optionally filter to one launch id.
Source: https://docs.adstellar.ai/api-reference/get-launch-records-for-the-team-launch-type-campaign-ad-account-creative-counts-goal-tracking-optionally-filter-to-one-launch-id
/openapi.json post /tools/get_launch_status
Get launch records for the team (launch type, campaign, ad account, creative counts, goal tracking). Optionally filter to one launch id.
# Get the AdStellar team attached to this API key: name, plan, industry, member count, and workspace count. Good first call to confirm which org you are acting on.
Source: https://docs.adstellar.ai/api-reference/get-the-adstellar-team-attached-to-this-api-key:-name-plan-industry-member-count-and-workspace-count-good-first-call-to-confirm-which-org-you-are-acting-on
/openapi.json post /tools/get_team_info
Get the AdStellar team attached to this API key: name, plan, industry, member count, and workspace count. Good first call to confirm which org you are acting on.
# Get the full configuration of one launch draft by id.
Source: https://docs.adstellar.ai/api-reference/get-the-full-configuration-of-one-launch-draft-by-id
/openapi.json post /tools/get_launch_draft
Get the full configuration of one launch draft by id.
# Get the team's brand kit (colors, fonts, tone of voice, brand description, buyer profiles). Pass brandKitId for a specific kit; omit for the default kit.
Source: https://docs.adstellar.ai/api-reference/get-the-teams-brand-kit-colors-fonts-tone-of-voice-brand-description-buyer-profiles-pass-brandkitid-for-a-specific-kit;-omit-for-the-default-kit
/openapi.json post /tools/get_brand_kit
Get the team's brand kit (colors, fonts, tone of voice, brand description, buyer profiles). Pass brandKitId for a specific kit; omit for the default kit.
# Get the team's current AI credit balance (available, reserved, included, used). Generation tools spend from this balance.
Source: https://docs.adstellar.ai/api-reference/get-the-teams-current-ai-credit-balance-available-reserved-included-used-generation-tools-spend-from-this-balance
/openapi.json post /tools/get_credit_balance
Get the team's current AI credit balance (available, reserved, included, used). Generation tools spend from this balance.
# List campaigns launched through AdStellar (status, objective, budget, spend, dates). For live Meta-side state use query_performance.
Source: https://docs.adstellar.ai/api-reference/list-campaigns-launched-through-adstellar-status-objective-budget-spend-dates-for-live-meta-side-state-use-query_performance
/openapi.json post /tools/list_campaigns
List campaigns launched through AdStellar (status, objective, budget, spend, dates). For live Meta-side state use query_performance.
# List launch drafts (campaign builds in progress) for the team. Drafts are prepared in the dashboard or via create_launch_draft and launched by a human in the UI.
Source: https://docs.adstellar.ai/api-reference/list-launch-drafts-campaign-builds-in-progress-for-the-team-drafts-are-prepared-in-the-dashboard-or-via-create_launch_draft-and-launched-by-a-human-in-the-ui
/openapi.json post /tools/list_launch_drafts
List launch drafts (campaign builds in progress) for the team. Drafts are prepared in the dashboard or via create_launch_draft and launched by a human in the UI.
# List text-to-speech voices available for video generation (ElevenLabs library, cached). Optionally filter by a search term (name/accent/gender).
Source: https://docs.adstellar.ai/api-reference/list-text-to-speech-voices-available-for-video-generation-elevenlabs-library-cached-optionally-filter-by-a-search-term-nameaccentgender
/openapi.json post /tools/list_voices
List text-to-speech voices available for video generation (ElevenLabs library, cached). Optionally filter by a search term (name/accent/gender).
# List the AI models available for generation, by capability. Returns id, provider, cost, and supported options (durations, audio, lipsync) for each model so you can pick one and pass its id as the `model` parameter of a generation tool. Omit the capability filter to list everything.
Source: https://docs.adstellar.ai/api-reference/list-the-ai-models-available-for-generation-by-capability-returns-id-provider-cost-and-supported-options-durations-audio-lipsync-for-each-model-so-you-can-pick-one-and-pass-its-id-as-the-`model`-parameter-of-a-generation-tool-omit-the-capability-filter-to-list-everything
/openapi.json post /tools/list_models
List the AI models available for generation, by capability. Returns id, provider, cost, and supported options (durations, audio, lipsync) for each model so you can pick one and pass its id as the `model` parameter of a generation tool. Omit the capability filter to list everything.
# List the Meta ad accounts connected to the team (id, name, currency, timezone, status, last sync time). Use the ad_account_id values with analytics tools.
Source: https://docs.adstellar.ai/api-reference/list-the-meta-ad-accounts-connected-to-the-team-id-name-currency-timezone-status-last-sync-time-use-the-ad_account_id-values-with-analytics-tools
/openapi.json post /tools/list_ad_accounts
List the Meta ad accounts connected to the team (id, name, currency, timezone, status, last sync time). Use the ad_account_id values with analytics tools.
# List the talking-actor avatars available to the team (stock library plus the team's custom avatars): id, name, portrait, gender, age range, style, and default voice.
Source: https://docs.adstellar.ai/api-reference/list-the-talking-actor-avatars-available-to-the-team-stock-library-plus-the-teams-custom-avatars:-id-name-portrait-gender-age-range-style-and-default-voice
/openapi.json post /tools/list_avatars
List the talking-actor avatars available to the team (stock library plus the team's custom avatars): id, name, portrait, gender, age range, style, and default voice.
# List the team's products (name, description, url, linked brand kit).
Source: https://docs.adstellar.ai/api-reference/list-the-teams-products-name-description-url-linked-brand-kit
/openapi.json post /tools/list_products
List the team's products (name, description, url, linked brand kit).
# List the team's projects (asset organization folders with item counts).
Source: https://docs.adstellar.ai/api-reference/list-the-teams-projects-asset-organization-folders-with-item-counts
/openapi.json post /tools/list_projects
List the team's projects (asset organization folders with item counts).
# List the workspaces this credential is allowed to act on (id, name). Pass a workspaceId to other tools to target one; omit those params to span all of these.
Source: https://docs.adstellar.ai/api-reference/list-the-workspaces-this-credential-is-allowed-to-act-on-id-name-pass-a-workspaceid-to-other-tools-to-target-one;-omit-those-params-to-span-all-of-these
/openapi.json post /tools/list_workspaces
List the workspaces this credential is allowed to act on (id, name). Pass a workspaceId to other tools to target one; omit those params to span all of these.
# List tools visible to this API key
Source: https://docs.adstellar.ai/api-reference/list-tools-visible-to-this-api-key
/openapi.json get /tools
# Poll the status of an async generation job. Pass batchId (from generate_image) or projectId (from generate_video). Returns per-generation statuses, asset ids/URLs when complete, and errors when failed.
Source: https://docs.adstellar.ai/api-reference/poll-the-status-of-an-async-generation-job-pass-batchid-from-generate_image-or-projectid-from-generate_video-returns-per-generation-statuses-asset-idsurls-when-complete-and-errors-when-failed
/openapi.json post /tools/get_generation_status
Poll the status of an async generation job. Pass batchId (from generate_image) or projectId (from generate_video). Returns per-generation statuses, asset ids/URLs when complete, and errors when failed.
# Query synced Meta ads performance (spend, impressions, clicks, results, ROAS, budget) grouped by campaign / ad set / ad / creative component, over a date range. Use list_ad_accounts first to discover ad account ids. Data freshness depends on the team's sync schedule; check last_synced_at in list_ad_accounts.
Source: https://docs.adstellar.ai/api-reference/query-synced-meta-ads-performance-spend-impressions-clicks-results-roas-budget-grouped-by-campaign-ad-set-ad-creative-component-over-a-date-range-use-list_ad_accounts-first-to-discover-ad-account-ids-data-freshness-depends-on-the-teams-sync-schedule;-check-last_synced_at-in-list_ad_accounts
/openapi.json post /tools/query_performance
Query synced Meta ads performance (spend, impressions, clicks, results, ROAS, budget) grouped by campaign / ad set / ad / creative component, over a date range. Use list_ad_accounts first to discover ad account ids. Data freshness depends on the team's sync schedule; check last_synced_at in list_ad_accounts.
# Search the team's media asset library (generated and uploaded images/videos). Filter by file type, favorites, or a name substring. Returns asset metadata with URLs.
Source: https://docs.adstellar.ai/api-reference/search-the-teams-media-asset-library-generated-and-uploaded-imagesvideos-filter-by-file-type-favorites-or-a-name-substring-returns-asset-metadata-with-urls
/openapi.json post /tools/search_assets
Search the team's media asset library (generated and uploaded images/videos). Filter by file type, favorites, or a name substring. Returns asset metadata with URLs.
# Write text-only ad copy variants (headline, subheadline/primary text, CTA, optional offer + body) for the team's brand or product. Grounded in the brand kit when available. Free — no generation credits used.
Source: https://docs.adstellar.ai/api-reference/write-text-only-ad-copy-variants-headline-subheadlineprimary-text-cta-optional-offer-+-body-for-the-teams-brand-or-product-grounded-in-the-brand-kit-when-available-free-—-no-generation-credits-used
/openapi.json post /tools/generate_ad_copy
Write text-only ad copy variants (headline, subheadline/primary text, CTA, optional offer + body) for the team's brand or product. Grounded in the brand kit when available. Free — no generation credits used.
# Team Members & Ad Accounts
Source: https://docs.adstellar.ai/billing/add-ons
Every AdStellar plan includes unlimited team members and ad accounts — no add-ons to buy.
**There are no add-ons to purchase.** Every AdStellar plan now includes **unlimited team members and unlimited ad accounts** at no extra cost. The only thing you choose is your monthly **credit volume** — see [Plans & Credits](/billing/plans-credits).
## Team Members
Invite as many people as you like to collaborate on campaigns, analysis, and account management — there's no per-seat fee. Manage your team from the [team settings page](/teams/managing-members).
## Ad Accounts
Connect as many Meta ad accounts as you need — there's no per-account fee. Connect and manage them under **Settings → Integrations**.
## Need more AI credits?
If you're running low on credits, move to a higher monthly credit volume from your **workspace menu (top-left) → Billing & Subscription → Change Plan**. Upgrades take effect immediately and are prorated. See [Plans & Credits](/billing/plans-credits) for the full ladder.
# How AI Credits Work
Source: https://docs.adstellar.ai/billing/credits-explained
Understand how AI credits are consumed, billed, and managed.
AI credits are consumed when you use AdStellar's AI-powered features. Here's everything you need to know about how they work.
## What Uses Credits
Credits are consumed when you use AI features to generate content, launch campaigns, or have the AI Agent do work for you.
Manual campaign launches do not consume AI credits. Only AI-powered features use credits.
## Credit Costs
Every paid action shows its **exact credit cost before it runs**, so nothing is charged by surprise. The standard rates:
| Action | Credits |
| ------------------------------------------- | ------------------------------ |
| **Image generation** (default model) | 100 per image |
| **Image edit / resize** | 100 each |
| **Video** — up to 10s / 15s / 30s / 60s | 2,800 / 4,200 / 8,400 / 16,800 |
| **Lip-sync render** — up to 10s / 15s / 30s | 2,200 / 3,200 / 6,400 |
| **AI Campaign Launch** | 100 per launch |
| **Custom AI Avatar** | 300 |
| **Video captions** | 400 |
Video rates are the baseline (Kling); premium models and higher image resolutions scale up for their higher quality, and the exact cost is always shown in the Canvas modal before you generate. **Talking videos over 10 seconds** automatically bundle a lip-sync pass into one price. See [Plans & Credits](/billing/plans-credits#ai-credit-costs) for the full breakdown.
### AI Agent Chat
The AI Agent is your built-in media buyer — chat with it to analyze performance, get strategy, create creatives, and launch campaigns. Because it does real work on every request, **Agent messages are metered in credits**, priced by how much work each turn does:
* **Glue turns are free** — quick follow-ups, tapping a suggested chip, and short clarifying replies that don't trigger any analysis or tools.
* **Working turns use credits** — pulling performance data, running analysis, researching, or planning across campaigns (more work = more credits), up to a per-message cap:
| Mode | Best for | Max credits per message |
| ----------------- | --------------------------------------- | ----------------------- |
| **Quick** | Fast answers and simple tasks | Up to 200 |
| **Standard** | Most create, improve, and analyze tasks | Up to 700 |
| **Deep research** | Big analyses across many campaigns | Up to 1,700 |
Credits are priced to be plentiful — a typical message is a small fraction of your monthly balance.
Images, videos, and campaign launches created from chat are charged at the same rates as everywhere else — you'll always see the cost and confirm before anything is generated or launched.
## Included Credits
Every plan is just a **monthly credit volume** — pick the amount that fits your usage (e.g. $100 = 50,000 credits/mo, $500 = 250,000 credits/mo). Every feature is included on every plan, with unlimited team members and ad accounts. See [Plans & Credits](/billing/plans-credits) for the full ladder.
## Credit Expiration
Monthly plan credits expire **60 days** after they are granted — a rolling window to use them across billing periods.
* Each monthly grant starts its own 60-day timer.
* Your **oldest expiring credits are consumed first**.
* Any plan credits not used within 60 days are forfeited.
**Bonus and referral credits never expire.** They remain in your account until you use them, and are used only after your expiring plan credits are depleted.
## Bonus Credits
Bonus credits are earned through the **start-now offer** and **referrals**, added on top of your monthly credits.
* **Never expire**
* Used only after your expiring plan credits are depleted
* No limit on how many you can accumulate
**Start your plan now (skip the trial)** to get a one-time **100,000 bonus credits (\$200)**. And refer a friend — when they start a paid plan, you both earn bonus credits. See [Referral Program](/settings/referral-program) for details.
## How Credits Are Granted
* Credits are granted on your billing anniversary each month.
* Each monthly grant expires 60 days after it is issued.
* Moving to a higher credit volume grants the new allocation immediately; your existing unexpired credits remain available.
## Checking Your Balance
## Credit Reservation
When you publish an AI-generated campaign, credits are **reserved upfront** based on the expected cost. After publishing completes, the reservation is reconciled — you're only charged for content that was actually created. If some items fail, those credits are released back to your balance.
## Trial Credits
During your free trial you receive **\$100 in credits (50,000 credits)** to try AdStellar's AI features. They work the same as plan credits. When your subscription activates, your plan's monthly credit allocation takes over. (Choose to **start now / skip the trial** and you also get **100,000 bonus credits** that never expire.)
## What Happens When Credits Run Out
When your balance is too low for an action, that feature pauses until more credits arrive:
* **Move to a higher credit volume** — immediate and prorated, grants the new allocation right away.
* **Wait for your next monthly grant.**
## Common Credit Errors
**"You've reached your trial credit limit"** — your free-trial credits are used up. Start your subscription to get your plan's full monthly allocation.
**"Insufficient credits"** — your balance is exhausted. Move to a higher credit volume from your **workspace menu → Billing & Subscription**, or wait for your next monthly grant.
**"Credit reservation failed"** — the content you're trying to generate would exceed your available credits. Reduce the scope, move to a higher volume, or wait for your next grant.
***
### Need Help?
If you have questions about credits or billing, reach out to our team.
* **Email:** [support@adstellar.ai](mailto:support@adstellar.ai)
* **In-app chat:** Click the chat icon in the bottom-right corner
# Managing Your Subscription
Source: https://docs.adstellar.ai/billing/manage-subscription
View your plan, change billing cycles, upgrade or downgrade, and manage payment methods.
All subscription management happens from your **workspace menu (top-left) → Billing & Subscription**. Only the team **Owner** can make billing changes.
## Viewing Your Plan
The billing page displays:
* Your **current plan** (monthly credit volume)
* **Billing status** (active, canceled, past due, trialing)
* **Next billing date** and amount
* Your **AI credit balance** (monthly + never-expiring bonus credits)
## Changing Plans
Open your **workspace menu (top-left) → Billing & Subscription** and click **Change Plan**.
Every plan includes every feature plus unlimited team members and ad accounts — you just pick how many AI credits you want each month. Choose the volume that matches your usage.
Review the price change and click **Confirm**. The change takes effect based on the type:
* **Upgrades** — take effect immediately. You're charged the prorated difference.
* **Downgrades** — scheduled for the end of your current billing period.
Scheduled downgrades are visible on the billing page. You can cancel a pending downgrade at any time before it takes effect.
## Canceling Your Subscription
To cancel, open your **workspace menu (top-left) → Billing & Subscription** and click **Cancel Subscription**. Cancellation takes effect at the **end of your current billing period** — you retain full access until then.
### Reactivating
If you change your mind, you can reactivate your subscription anytime before the billing period ends. Click **Reactivate** on the billing page to resume your plan without interruption.
## Ending a Trial Early
If you're on a free trial, you can end it early and start your paid plan from the billing page. When you start now instead of waiting out the trial, you get a one-time **100,000 bonus credits (\$200) that never expire**, on top of your plan's monthly credits.
## Payment Management
Click **Manage Billing** to open the Stripe Customer Portal, where you can:
* **Update payment methods** — add or change credit/debit cards
* **View invoices** — see your full billing history
* **Download receipts** — get PDF receipts for any payment
## Past-Due Accounts
If a payment fails, your account enters a **past-due** state. A modal appears when you log in prompting you to update your payment method. Features remain accessible during a grace period, but continued non-payment may result in restricted access.
Update your payment method promptly when you see a past-due notice. Extended non-payment may pause your campaigns and restrict account access.
## Refund Policy
If you were charged unexpectedly (e.g., forgot to cancel a trial), contact [support@adstellar.ai](mailto:support@adstellar.ai) with your account email and the charge details. Refund requests are handled on a case-by-case basis. To avoid unexpected charges, cancel your subscription before the trial or billing period ends.
Canceling your subscription does NOT delete your account or data. You retain access until the end of your billing period.
## Account Deletion
AdStellar does not currently offer self-service account deletion. To request account deletion and removal of your data, email [support@adstellar.ai](mailto:support@adstellar.ai) with the subject "Account Deletion Request." Include the email address associated with your account. Your data will be removed within 30 days of the request.
Canceling your subscription is different from deleting your account. Cancellation stops future billing but preserves your data. Deletion permanently removes your account and all associated data.
# Plans, Billing, and AI Credits
Source: https://docs.adstellar.ai/billing/plans-credits
AdStellar uses one simple, volume-based plan: pick how many AI credits you want each month — every feature is included on every plan. This guide explains how billing works, the free trial, and how AI credits are calculated and used.
## Subscription Plans
[AdStellar](https://www.adstellar.ai) has one simple plan with **no feature tiers**. You just pick how many **AI credits** you want each month — every feature is included on every plan, with **unlimited team members and ad accounts**.
* **Flat rate:** $0.002 per credit ($1 = 500 credits).
* **Monthly billing.** Change your credit volume anytime.
* Manage everything from **Billing & Subscription** in the app.
### Choose your monthly credit volume
| Monthly price | Credits / month |
| ------------- | -------------------------- |
| \$100 | 50,000 |
| \$150 | 75,000 |
| \$200 | 100,000 |
| \$300 | 150,000 |
| \$400 | 200,000 |
| **\$500** | **250,000 — Most Popular** |
| \$750 | 375,000 |
| \$1,000 | 500,000 |
| \$1,500 | 750,000 |
| \$2,000 | 1,000,000 |
| \$3,000 | 1,500,000 |
| \$5,000 | 2,500,000 |
| \$7,500 | 3,750,000 |
| \$10,000 | 5,000,000 |
**Every plan includes every feature** — AI Image Ads, AI Video Ads, UGC Avatars, Custom AI Avatars, Ad Clone, Competitor Ad Clone, Text to Video, AI Actor + Product, the AI Video Editor, Top Ads, AI Combos, and full AI Insights (all analytics groupings). Plans also include **unlimited** team members, ad accounts, launches, and campaign imports, plus hourly Meta data sync. The only thing that changes between plans is how many AI credits you get each month.
### Changing your plan
Open your **workspace menu (top-left) → Billing & Subscription → Change Plan** and pick a new credit volume. Moving to a higher volume takes effect immediately (prorated); moving to a lower volume takes effect at the end of your current billing period.
***
## Free Trial
New accounts start with a **7-day free trial**:
* **$100 in free credits (50,000 credits)** to explore everything — **$0 due today**.
* Pick the plan you'll continue on; you won't be charged until the trial ends, and you can cancel anytime.
**Already know you'll love it?** When you start your plan you can **skip the trial and start now** to get a one-time **\$200 in bonus credits (100,000 credits) that never expire**, added on top of your monthly credits.
***
## AI Credits
### What Are AI Credits?
AI credits are the usage currency for AdStellar's AI-powered features. Credits are consumed when you generate images, videos, launch AI-built campaigns, or have the AI Agent do work for you.
* **Only AI-generated content uses credits.**
* **Manually created campaigns do not use credits.**
### AI Credit Costs
Every paid action shows its **exact credit cost before you run it** (the Canvas confirmation modal and the AI Agent both confirm the price first), so nothing is ever charged by surprise. The numbers below are the standard rates.
#### Image Generation
| Action | Credits |
| --------------------------------------------- | --------------------------------------------- |
| **Image generation** (Nano Banana 2, default) | 100 credits per image |
| **Image edit / resize** | 100 credits each (25 for HTML/text creatives) |
Other image models are priced by their generation cost — some cost more (Nano Banana Pro ≈ 188 credits, 4K ≈ 375), some the same (GPT Image 2 at high quality = 100), and some less (Imagen 4 ≈ 50). The Canvas modal always shows the exact cost for your selected model and settings before you generate.
#### Video Generation
Video cost is based on duration. These are the baseline (Kling) rates — premium models (Seedance 2.5, Sora, etc.) scale up for their higher quality, and the exact cost is always shown before you generate:
| Duration | Credits |
| ---------------- | ------- |
| Up to 10 seconds | 2,800 |
| Up to 15 seconds | 4,200 |
| Up to 30 seconds | 8,400 |
| Up to 60 seconds | 16,800 |
**Talking videos over 10 seconds include lip-sync automatically.** Native lip-sync stays accurate for about the first 10 seconds, then drifts — so a **talking** clip longer than 10 seconds automatically runs a lip-sync pass, billed as one bundled price (e.g. a 15-second talking video is **7,400 credits** = 4,200 video + 3,200 lip-sync). A 10-second talking clip uses free native lip-sync, and non-talking clips (b-roll, product shots) are never charged the lip-sync pass regardless of length.
#### Lip-Sync Render
For talking videos over 10 seconds this pass runs **automatically** and is bundled into the video price (see above). You can also run it manually to re-perfect lip-sync on an already-generated video, charged separately at these rates:
| Video Duration | Credits |
| ---------------- | ------- |
| Up to 10 seconds | 2,200 |
| Up to 15 seconds | 3,200 |
| Up to 30 seconds | 6,400 |
#### Other AI Actions
| Action | Credits |
| ----------------------------------- | ---------------------- |
| **AI Campaign Launch** (AI Builder) | 100 credits per launch |
| **Custom AI Avatar** (AI actor) | 300 credits |
| **UGC / Fan-cam template** | 3,920 credits |
| **Video captions** | 400 credits |
#### AI Agent Chat
The AI Agent isn't a simple chatbot — it's an AI media buyer that analyzes your account, pulls live performance data, researches competitors, and plans campaigns for you. That work runs on the same AI models as everything else, so **AI Agent messages are metered in credits**, priced by how much work each turn actually does.
* **Glue turns are free.** Clarifying questions, tapping a suggested chip (like "\$50/day"), and short follow-ups that don't trigger any analysis or tools cost **0 credits**.
* **Working turns use credits**, up to a per-message maximum for the mode you're in:
| Mode | Max credits per message |
| ----------------- | ----------------------- |
| **Quick** | Up to 200 |
| **Standard** | Up to 700 |
| **Deep research** | Up to 1,700 |
Credits are priced to be plentiful, so a typical message is a small fraction of your monthly balance. Any creative or launch you make from chat is confirmed at the standard generation rates above before it runs. Your balance lives on the **Billing & Subscription** page.
### Credit Expiration
* Monthly plan credits **expire 60 days** after they are granted. Use them before they expire.
* **Bonus and referral credits never expire.** They remain in your account until used.
* When you use AI features, your oldest expiring credits are consumed first, then your never-expiring bonus credits.
### How Credits Are Granted
* Credits are granted on your billing anniversary each month.
* Each monthly grant expires 60 days after it is issued.
* Upgrading to a higher credit volume grants the new allocation immediately; your existing unexpired credits remain available.
### Viewing Your Credit Balance
To check your remaining credits, open your **workspace menu (top-left) → Billing & Subscription**. Your total balance, monthly plan credits, and never-expiring bonus credits are all shown there.
### What Happens When You Run Out of Credits?
When your balance is too low for an action, that AI feature pauses until more credits arrive. To get more credits:
* **Move to a higher credit volume** — takes effect immediately (prorated) and grants the new allocation right away.
* **Wait for your next monthly grant** — credits refresh on your billing anniversary.
***
## Bonus & Referral Credits
**Bonus credits** are extra AI credits that **never expire**. You earn them two ways:
* **Start now (skip the trial):** a one-time **100,000 bonus credits (\$200)** when you start your paid plan immediately instead of running the 7-day trial.
* **Referrals:** when someone signs up with your referral link and starts a paid plan, you both earn bonus credits. See the [Referral Program](/settings/referral-program) for current rewards.
A few things to know about bonus credits:
* **They never expire** — unlike monthly plan credits (which expire 60 days after being granted), bonus credits stay in your account until you use them.
* **They're used second** — we use your oldest expiring plan credits first, then your bonus credits.
***
## Managing Your Subscription
### Changing your plan
Moving up takes effect immediately (prorated); moving down takes effect at the end of your current billing period.
### Canceling
You'll retain access until your current billing period ends.
***
## Billing & AI Credit FAQs
#### Does talking to the AI Agent use credits?
Yes. The AI Agent is a working media buyer, not a basic chatbot — when it analyzes your account, pulls performance data, researches, or plans campaigns, that message uses credits, priced by the amount of work done (up to a per-message cap by mode: Quick up to 200, Standard up to 700, Deep research up to 1,700). Lightweight glue turns — clarifying questions, tapping a suggested chip, or short follow-ups that don't run any analysis — are free. Any paid action is confirmed before it runs, so there are never silent charges. Credits are priced to be plentiful, so a typical message is a tiny fraction of your monthly balance.
#### Do unused credits roll over?
Monthly plan credits expire 60 days after they are granted. Any credits not used within that window are forfeited. Bonus and referral credits never expire.
#### Can I buy credits without a subscription?
No. AI credits are only available to subscribers.
#### How many team members and ad accounts can I have?
Unlimited, on every plan. There are no per-seat or per-ad-account fees.
#### How do I get more credits?
Move to a higher monthly credit volume from your **workspace menu → Billing & Subscription → Change Plan** (immediate and prorated), or wait for your next monthly grant.
#### What counts as a credit?
Credits are consumed based on the AI feature used. See the [credit costs](#ai-credit-costs) above, and remember the exact cost is always shown before you run a paid action.
#### Are there hidden fees?
No. You only pay for your chosen monthly credit volume — every feature, plus unlimited seats and ad accounts, is included.
***
### Need More Help?
If you have billing or credit questions not answered here, our team is here to help.
* **Email:** [support@adstellar.ai](mailto:support@adstellar.ai)
* **In-app chat:** Click the chat icon in the bottom-right corner
We're happy to assist!
# Changelog
Source: https://docs.adstellar.ai/changelog
Stay up to date with the latest AdStellar product updates, new features, and improvements.
## Performance Is Now Ads Manager
The Performance page has a new name and a new home. It's now **Ads Manager**, and it sits in the left sidebar right under **Launch** instead of inside Insights, so campaign metrics and controls are one click from where you launch.
Nothing else changed: the same drill-down table, on/off switches, budget editing, goals, and result metrics are all there. Old links to the Performance page redirect automatically.
[Read the Ads Manager guide →](/guides/insights/ads-manager)
## Seedance 2.5 Is Here
A new video model just landed in the Canvas model picker: **Seedance 2.5**, our most natural-looking option for realistic UGC videos.
**What makes it special:**
* **30-second single takes** — one continuous shot up to 30 seconds, no stitching, so the delivery flows like a real selfie video
* **Most natural UGC look** — the closest yet to "a real person actually filmed this"
* **Joint audio generation** — voice, ambient sound, and lip movement are generated together for a natural result
* **Multimodal references** — drop in reference images, audio, or video and mention them in your prompt with `@Image1`, `@Audio1`, `@Video1`
Seedance 2.0 isn't going anywhere — it stays the fast, budget-friendly pick with resolutions up to 1080p, while 2.5 (720p) is the one to reach for when natural delivery and longer takes matter most. As always, the exact credit cost is shown before you generate.
[Read the Video Ads guide →](/guides/create/video-ads)
## Pick the Vibe for Your UGC Videos
Realistic UGC videos now have a **vibe selector** — choose the delivery style your creator brings to camera before you generate, so the performance matches the energy of your script instead of always landing on the same flat read.
**Choose from four vibes:**
* **🔥 Hype** — high-energy "you NEED this" excitement
* **😌 Chill** — relaxed, friend-recommendation energy
* **💬 Storytime** — the "okay, so I have to tell you about this" confessional lean-in
* **🎯 Straight talk** — calm, confident, no-nonsense
Each vibe steers the actor's real pacing, expressions, and gestures — not just a label — so the same script can feel like a hype drop or a quiet recommendation depending on what you pick.
**Also in this release:**
* **More reliable Realistic UGC** — we tightened up the Realistic UGC pipeline so your actors talk through the whole clip more consistently
* **Mobile optimizations** — the Agent chat, analytics, and creative surfaces are now much smoother on phones, so you can check performance and kick off work on the go
* **Bug fixes** — a batch of smaller fixes and polish across the app
[Read the UGC Avatar guide →](/guides/create/ugc-avatar-videos)
## A Fresher, Calmer AdStellar
We gave the app a cleaner, more focused monochrome look, tidied up the sidebar, and added an in-app **What's New** panel so you always know what just shipped — no need to dig through docs to find out what changed this week.
**What's new:**
* **Monochrome refresh** — calmer colors, clearer hierarchy, less visual noise
* **Tidier sidebar** — your generation queue and credit balance now live in the sidebar footer, out of the way
* **What's New panel** — a single panel that summarizes recent launches, accessible right from the sidebar
## Make the Agent Yours
You can now set workspace-wide preferences for the AdStellar Agent — pick the model, dial reasoning up or down, set the tone, and leave standing instructions that apply to every conversation. No more re-explaining your preferences every time you start a new thread.
**What you can configure:**
* **Model** — choose the underlying model the Agent uses for your workspace
* **Reasoning depth** — balance speed vs. thoughtfulness depending on the task
* **Tone** — formal, casual, direct, however your team likes to work
* **Standing instructions** — rules like "always propose budgets in USD" or "never pause ads without asking first"
[Read the Agent guide →](/agent/modes-credits)
## Charts and Diagrams, Inline in the Conversation
When you ask the Agent about performance, it now answers with real charts and diagrams drawn straight into the thread — no more squinting at a wall of numbers when a bar chart would do the job.
**What you'll see:**
* **Bar, line, and pie charts** for performance breakdowns over time
* **Diagrams** for funnels, flows, and campaign structures
* **Inline rendering** — the chart appears in the reply, not in a separate tab
[See what the Agent can do →](/agent/capabilities)
## Launch App Promotion and Click-to-Message Campaigns
The Agent can now build and launch two more Meta campaign types end-to-end — just describe what you want to achieve and where people should land, and it assembles the right structure for you.
**Now supported from chat:**
* **App Promotion** — drive installs and re-engagement to your mobile app
* **Click-to-message** — start conversations on Messenger, WhatsApp, and Instagram Direct
[Read the Launch guide →](/guides/launch/overview)
## Connect AdStellar to the Rest of Your Stack
The new **Integrations Hub** lets you plug AdStellar into the tools you already use. Browse Pipedream connectors, wire up custom external tools, and decide exactly which actions each connector is allowed to take in your workspace.
**What you can do:**
* **Browse and install connectors** from a curated catalog
* **Add custom tools** for workflows we don't cover out of the box
* **Per-connector permissions** — grant each integration only the actions it actually needs
* **Workspace-scoped access** — connectors work for the whole team, not just the person who installed them
[Browse Integrations →](/integrations/overview)
## The Agent Now Keeps Watch and Follows Up on Its Own
You can now ask the Agent to check back on something later — "look at this campaign every morning and tell me if spend is off pace" — and it will. Scheduled and follow-up tasks live in a single list with play/pause controls and an in-app activity feed, so you can see what the Agent is up to without opening Slack.
**How it works:**
* **Schedule a follow-up** — ask the Agent in chat or Slack to revisit something on a cadence
* **One unified task list** — auto-rules and agent-created tasks live in the same place
* **Play / pause rows** — pause a task without deleting it; resume when you're ready
* **In-app activity feed** — see what the Agent ran, when, and what it found, even if you never connect Slack
[Read the Tasks guide →](/agent/tasks)
## Pause, Resume, and Re-Budget Ads From Inside the Agent
The Agent can now pause or resume individual ad sets and ads, and adjust a single ad set's budget — right in the conversation. It pulls live data from your Meta account, so the numbers you see are the numbers you act on.
**What you can ask:**
* "Pause the ad set that's been burning budget on lookalike A this week"
* "Bump the budget on our top-performing ad set by 20%"
* "Resume the prospecting campaign we paused last Friday"
As always, anything that changes your account shows a **Confirm / Cancel** card first.
[See Agent capabilities →](/agent/capabilities)
## Use the AdStellar Agent in Slack
The **AdStellar Agent** now works right inside Slack. It's the same AI media buyer you use in the app — with every tool — reached by mentioning **@AdStellar** in any channel or sending it a direct message. No tab-switching: analyze performance, write copy, generate creative, and launch or manage Meta campaigns from where your team already works.
**What you can do:**
* **Mention or DM** — `@AdStellar how did my campaigns do in the last 7 days?` in a channel, or just DM the bot
* **The full agent, every tool** — performance analysis, ad copy, image/video/UGC creative, and campaign management
* **Replies in-thread** — the bot reacts with ⏳ while it works, then answers in the thread and marks it ✅
* **Confirm before it acts** — anything that spends or changes your account (launch, pause, budget, generation) shows **Confirm / Cancel** buttons first
* **Built for agencies** — bind each Slack channel to a specific workspace, or let DMs use your default
Connect Slack from **Integrations → Slack**, invite the bot to a channel (`/invite @AdStellar`) or DM it, and you're set.
[Read the full guide →](/getting-started/use-agent-in-slack)
## One Media Library, No More Duplicates
We unified the Media Library and the asset picker into one consistent surface. Saving an asset is now explicit, so nothing lands in your library by accident, and picking assets for an ad feels the same everywhere in the app.
**What changed:**
* **One library, one picker** — the same UI everywhere you choose media
* **Explicit save** — generated or uploaded assets only land in your library when you say so
* **No more duplicates** — picking and saving now flow through the same path
[Read the Media Library guide →](/guides/create/media-library)
## The AdStellar Agent Is Now the Home of the App
The AdStellar Agent is out of beta and is now the first thing you see when you log in. Your generation queue and credit balance moved into the sidebar so the conversation stays the focus. The old Canvas homepage is still there for users who haven't set up a team yet.
**What changed:**
* **Chat is the homepage** — every signed-in user with an active team lands in `/chat`
* **Calmer sidebar** — generation queue and credits moved into the sidebar footer
* **Personalized empty state** — a greeting that knows who you are and what you've been working on
* **Setup CTAs** — new users get an Agent and Launch shortcut right from the setup page
[Read the Agent overview →](/agent/overview)
## The Agent Remembers
The Agent now keeps a categorized memory of what matters to your workspace — your brand, your products, your launch habits, your preferences — and pulls on it automatically. You don't have to re-explain your business every time you open a new thread.
**How it works:**
* **Categorized memory** — brand, products, audience, preferences, and past launches each get their own bucket
* **Auto-extraction** — the Agent picks up facts from your conversations and files them on its own
* **Recency and supersede** — newer facts naturally replace older ones, so memory stays current
* **Browse and edit** — see everything the Agent knows at `/memory` and trim what you don't want it holding onto
[Open Agent Memory →](https://app.adstellar.ai/memory)
## Manage Campaigns Directly from the Performance Page
You can now control your Meta campaigns without leaving AdStellar:
* **On/off switches** — pause or resume any campaign, ad set, or ad right from the Performance table, just like Meta Ads Manager
* **Inline budget editing** — see every daily and lifetime budget in the new Budget column and change it with a quick click-to-edit popover
* **Bulk budget edits** — select multiple campaigns or ad sets and update all their budgets at once
All changes are applied to Meta immediately. [Learn more →](/guides/insights/ads-manager)
## Meet the AdStellar Agent — Your AI Media Buyer in the App
The same AI media buyer you can now reach in Slack is available right inside AdStellar. Ask it to analyze performance, write ad copy, generate or refresh creative, and launch or manage Meta campaigns — all in a single conversation, with **Confirm / Cancel** cards before anything spends or changes your account.
**What you can do from chat:**
* **Analyze performance** — "how did my campaigns do in the last 7 days?" with live Meta data and inline charts
* **Write ad copy** — headlines, primary text, and captions in your brand voice
* **Generate creative** — image ads, video ads, and UGC avatar videos, inline in the thread
* **Launch and manage** — build new campaigns, pause ads, adjust budgets, and relaunch winners
* **Greatest-hits workflow** — point the Agent at your top ads and have it draft a relaunch in one step
* **Strategy intelligence** — the Agent reads your account history and proposes strategy grounded in what's actually worked for you
[Read the Agent overview →](/agent/overview)
## A Cleaner, Faster Way to Pick Your Plan
We redesigned the choose-a-plan page so you can compare plans and pick the right one before you ever hit Stripe — no more guessing what you're going to pay.
**What changed:**
* **Side-by-side comparison** — see every plan's features and credit allowance in one view
* **Pick before checkout** — you choose your plan first, then head to Stripe to pay
* **Clearer trial terms** — the 200-credit trial cap is spelled out up front
[Read the Billing guide →](/billing/overview)
## Trim, Caption, and Edit Video Without Leaving AdStellar
The Video Editor now has a standalone blank-canvas mode reachable straight from the sidebar — open it and start editing any video in your library, no project required.
**What you can do:**
* **Trim and arrange** — cut, split, and reorder clips on a timeline
* **Add captions** — drop in styled captions and choose how text appears on screen
* **AI audio** — generate voiceover and drop it onto the timeline
* **Export** — render and save back to your Media Library
[Read the Video Editor guide →](/guides/create/video-editor)
## Generate Multi-Actor UGC Videos in One Go
Realistic UGC avatar videos now support up to three actors at once, producing three separate videos from a single prompt — perfect for testing different spokespeople against the same script without re-running the flow three times.
**What's new:**
* **Up to 3 actors per generation** — each becomes its own finished video
* **Same script, different faces** — test which spokesperson resonates before you scale spend
* **Refreshed Canvas studio** — a cleaner creative workspace, alongside recalibrated creative pricing
[Read the UGC Avatar guide →](/guides/create/ugc-avatar-videos)
## Iterate on Image Ads with References and Full Revision History
Editing an image ad is now much more flexible. Pull in a reference image to steer a revision, and replay any past revision from its original source — so you can fork an old direction without losing the path you took to get there.
**What you can do:**
* **Add a reference image** — steer a revision toward a style, layout, or mood
* **Replay any past revision** — fork from an earlier direction without redoing the whole prompt
* **Full edit history** — see every revision you've made to an image ad in one place
[Read the Image Ads guide →](/guides/create/image-ads)
## Bring Your Own Face to UGC Avatars
You can now upload your own reference photo to create a custom AI actor for UGC avatar videos. Uploads require explicit consent, are billed clearly, and are gated to paid plans during trial so there are no surprise charges.
**How it works:**
* **Upload a reference photo** — bring a face you have the rights to use
* **Explicit consent step** — consent is captured before any generation runs
* **Clear credit billing** — you see the cost before you generate
* **Paid-plan gating** — custom actors are available on paid plans, not during trial
[Read the UGC Avatar guide →](/guides/create/ugc-avatar-videos)
## Create Ads with AI — Image Ads, Video Ads, UGC Avatar Ads
We're excited to introduce the **Canvas** — your new home for creating ad creatives with AI. Generate scroll-stopping image ads, professional video ads, and realistic UGC avatar videos, all without a designer or production team.
### Image Ads
Generate image ad creatives in seconds. Paste a product URL, upload a reference image, clone a competitor ad from the Meta Ad Library, or combine an AI actor with your product for a UGC-style photo.
**What you can do:**
* **Product Page URL** — Paste your product link and AI extracts everything to generate ads automatically
* **Upload a Reference** — Upload any image you like and AI recreates the style with your product
* **Clone from Ad Library** — Browse real Meta ads and clone the creative direction
* **AI Actor + Product** — Combine an AI-generated person with your product for authentic-looking UGC photos
### Video Ads
Turn your product into a professional video ad. Choose from trending templates or recreate a video you love with your own product and branding.
**What you can do:**
* **Video Templates** — Browse proven, trending video ad templates and customize with your product
* **Recreate from Reference** — Paste a URL or upload a video and AI recreates it with your branding
* **Multiple Aspect Ratios** — Square, portrait, landscape, and vertical for every placement
* **Caption Styles** — Choose how text appears on screen
### UGC Avatar Ads
Generate realistic talking-head videos with AI avatars delivering your script. It looks like authentic creator content, but you control everything — the avatar, the script, the voice, and the tone.
**What you can do:**
* **Pick from a gallery of AI avatars** — Choose an actor that matches your target audience
* **Write or AI-generate scripts** — Let AI write the script or write your own
* **Select a voice** — Preview and pick the perfect voice and tone
* **Create custom avatars** — Text-to-avatar, video-to-avatar, or auto-generate from your Brand Kit
### Supporting Features
This release also includes several tools that make creative generation even better:
* **Products** — Add your product catalog so AI knows exactly what to advertise
* **Brand Kit** — Set up your brand colors, fonts, tone, and buyer profiles for on-brand creatives every time
* **Projects** — Organize your generated creatives into folders
* **Media Library** — Store and manage all your assets in one place
[Explore the Canvas →](/guides/create/creative-hub-overview)
# Connecting Ad Accounts
Source: https://docs.adstellar.ai/getting-started/connect-ad-account
Connect individual Meta ad accounts to your AdStellar workspace to start syncing data and launching ads.
## Overview
After [connecting your Meta account](/getting-started/connect-meta), you'll see a list of available ad accounts on the Meta integration page. Connect the ones you want to manage in AdStellar.
## Connect an Ad Account
Go to **Integrations** and open the **Meta** integration. All ad accounts linked to your Meta account are listed under **Available Ad Accounts**.
Click **Connect & Sync Data** next to the ad account you want to use. AdStellar begins syncing your account data automatically.
The initial sync pulls in your existing campaigns, ad sets, ads, and performance data. This runs in the background — you can continue using AdStellar while it completes.
Each ad account is connected to a specific workspace. If you have multiple workspaces, you can assign different ad accounts to each one.
## Disconnecting an Ad Account
To disconnect an ad account, go to **Integrations**, open the **Meta** integration, find the connected account, and click **Disconnect**. This removes the account from your workspace but does not affect your live ads on Meta.
## Changing Workspaces
To move an ad account to a different workspace:
1. Disconnect the ad account from the current workspace.
2. Switch to the target workspace.
3. Reconnect the ad account there.
## Ad Accounts
You can connect **unlimited ad accounts** on every plan, at no extra cost — connect as many as you manage.
# How to Connect Your Meta Account to AdStellar AI
Source: https://docs.adstellar.ai/getting-started/connect-meta
Link your Meta account via Facebook OAuth so AdStellar AI can manage your ad campaigns, Pages, and Instagram accounts.
To launch Facebook and Instagram ad campaigns from AdStellar AI, you need to connect your Meta account. This guide walks you through the connection process, including the permissions you need to grant so that AdStellar AI can manage your ads.
During the Meta authorization flow, you must grant AdStellar AI access to your ad accounts and Facebook Pages. If either permission is missing, AdStellar AI will not function correctly -- campaigns may fail to launch or sync.
## Step-by-Step Setup
Log in to your AdStellar AI account. In the left-hand sidebar, click **Integrations**, then select the **Meta** card to open the Meta integration page. You'll see the Connect Meta section. If you haven't connected yet, click the **Sign in with Facebook** button to begin.
If you've previously connected your Meta account, you'll see your profile listed with a **Resync** button. To update your permissions or reconnect, click **Resync**. A Facebook Login for Business window will appear. Click **Edit previous settings** to review and update the permissions AdStellar AI has access to, then click **Reconnect**.
You'll be asked to choose which Facebook Pages AdStellar AI can access. Select **Opt in to all current and future Pages** to ensure AdStellar AI can work with any Pages you manage now or create later. Then click **Continue**.
This step is required. AdStellar AI needs Facebook Page permissions to create and manage ads on your behalf.
Next, you'll be asked to choose which Instagram accounts AdStellar AI can access. Select **Opt in to all current and future Instagram accounts** for the smoothest experience, then click **Continue**.
You'll see a summary of all the permissions AdStellar AI is requesting. Review the list to make sure it includes access to your ad accounts, Facebook Pages, and Instagram accounts. Once you're satisfied, click **Save** to complete the connection.
After completing the Facebook authorization, you'll be returned to the AdStellar AI Meta integration page. You should now see your ad accounts listed. Find the ad account you want to use and click **Connect & Sync Data** to add it to your workspace. This syncs your ad account data into AdStellar AI so you can start building and launching campaigns.
## Troubleshooting
If you're experiencing issues with your Meta connection, here are a few things to check:
* **Campaigns failing to launch?** Make sure you granted both ad account and Facebook Page permissions during the Meta authorization. You can fix this by clicking **Resync** on the Meta integration page (Integrations → Meta) and going through the "Edit previous settings" flow to update your permissions.
* **Don't see your ad account?** Click **Resync** to refresh the list of available ad accounts. Make sure the Facebook profile you connected has admin or advertiser access to the ad account in Meta Business Suite.
* **Need to switch Meta profiles?** Click **Disconnect** on the Meta integration page, then reconnect with the correct Facebook profile using "Sign in with Facebook."
* **No Facebook Pages found for your ad account?** This happens when Page permissions weren't granted during setup. Click **Resync** and select "Opt in to all current and future Pages" during the Facebook authorization. Your ad account must also be linked to a Page in Meta Business Manager.
* **Wrong Facebook Page showing?** Make sure the correct Page is associated with your ad account in Meta Business Manager > Business Settings > Pages. AdStellar shows Pages linked to the ad account you selected.
* **Instagram account required?** Some ad placements require an Instagram account. If you don't have one, you can either create one in Instagram or remove Instagram placements from your campaign in the Ad Sets step.
* **Meta created a new ad account instead of connecting my existing one?** During the Facebook authorization, make sure you select your existing ad accounts — don't let Meta create a new one. If this happened, disconnect and reconnect, carefully selecting the correct accounts.
* **Multiple ad accounts showing different currencies?** Each Meta ad account has a fixed currency set at creation. AdStellar shows the currency from Meta. You cannot change an ad account's currency after creation — this is a Meta limitation.
* **Workspace must be created first?** You need at least one workspace before connecting ad accounts. If you see this message, go to **Settings > Workspaces** and create a workspace first, then return to the Meta integration.
If you're still running into issues, reach out to the AdStellar AI support team for help.
# Create Your First Image Ad
Source: https://docs.adstellar.ai/getting-started/create-image-ad
Generate a professional AI image ad in under a minute.
AdStellar's Canvas lets you generate scroll-stopping image ads using AI. No design skills needed — just provide your product info and let AI do the work.
## Choose a Creation Method
From the **Canvas > Image Ads** tab, pick how you want to create:
Paste your product or landing page URL. AdStellar extracts the product info and generates ad creatives automatically.
Upload a reference image you like. AI will recreate it in your brand's style with your product.
Browse the Meta Ad Library, find a competitor ad you like, and clone the style with your own product.
Combine an AI-generated actor with your product for a UGC-style image ad.
## Step-by-Step: Product Page URL
The fastest way to create your first image ad:
Click **Canvas** in the left sidebar, then select the **Image Ads** tab.
Choose the **Product Page URL** option from the creation methods.
Enter the URL of your product or landing page. AdStellar will extract the product name, description, and images automatically.
Review the extracted details. You can adjust the product name, selling points, and select which product images to use.
Select the ad size you need — square (1:1), portrait (4:5), landscape (16:9), or story (9:16).
Click **Generate** and AdStellar will create multiple ad variations for you. This typically takes 15–30 seconds.
Browse your generated ads. Download the ones you like, or save them directly to your Media Library for use in campaigns.
## Editing After Generation
Not quite right? You can edit any generated image without starting from scratch. Open the image from your project to access the chat-based editor — describe what you'd like to change and AI will revise it. You can also resize images to different aspect ratios.
Credits are deducted for each edit. Learn more in the [full image editing guide](/guides/create/image-ads#editing-generated-images).
## Tips for Better Results
* **Use high-quality product images** — The better your source images, the better the output.
* **Set up your Brand Kit first** — Adding your brand colors, fonts, and style preferences helps AI generate on-brand creatives. See [Brand Kit](/guides/create/brand-kit).
* **Try multiple methods** — Each creation method produces different styles. Experiment to find what works best for your product.
## What's Next?
Refine your generated images with AI-powered editing.
Learn how to create your first video ad.
Use your new creatives to launch a Meta ad campaign.
# Create Your First UGC Avatar Ad
Source: https://docs.adstellar.ai/getting-started/create-ugc-avatar-ad
Generate a realistic UGC-style video ad featuring an AI avatar talking about your product.
UGC (user-generated content) style ads are some of the highest-performing ad formats on Meta. With AdStellar, you can generate UGC-style videos featuring AI avatars — no influencers or creators needed.
## What is a UGC Avatar Ad?
A UGC avatar ad is a video where an AI-generated person talks directly to camera about your product. It looks and feels like authentic creator content, but it's fully generated by AI. You control the script, the avatar, the voice, and the tone.
## Step-by-Step: Create a UGC Avatar Video
Click **Canvas** in the left sidebar. Select the **Video Ads** tab, then choose the **UGC Avatar** option.
Pick a product from your catalog, or enter product details manually. This gives the AI context about what the avatar will be talking about.
Choose or upload a product image that will be shown in the video alongside the avatar.
Browse the avatar gallery and select an AI actor. You can choose from a variety of stock avatars, or create a custom one.
Write the script the avatar will deliver, or let AI generate one based on your product details. Keep it conversational and authentic — just like a real creator would talk.
Select a voice that matches the avatar and your brand's tone. You can preview different voices before committing.
Set your preferred video aspect ratio, tone, and any other creative preferences.
Click **Generate** and wait for your video to render. UGC avatar videos typically take 2–5 minutes to generate.
Watch the preview to check the avatar's delivery, pacing, and script.
For the best quality, click **Render Final Video** to apply pro lip-sync processing. This aligns the avatar's lip movements precisely to the audio for a natural, polished result. Rendering costs additional credits — see [Render Credit Costs](/guides/create/video-ads#render-credit-costs).
Download the video or save it to your Media Library for use in campaigns.
## Tips for Better UGC Ads
* **Keep scripts short and punchy** — 15–30 seconds performs best on Meta. Get to the hook fast.
* **Use natural language** — Write the script like someone is talking to a friend, not reading a press release.
* **Match avatar to audience** — Choose an avatar that resonates with your target demographic.
* **Test multiple avatars** — Different avatars can produce very different results. Try a few and let the data decide.
## What's Next?
Connect your Meta account and ad accounts to start launching.
Take your UGC video and launch it as a Meta ad campaign.
# Create Your First Video Ad
Source: https://docs.adstellar.ai/getting-started/create-video-ad
Turn your product into a professional video ad with AI.
AdStellar makes it easy to create video ads without a production team. Choose from three creation methods or browse trending templates.
## Choose a Creation Method
From the **Canvas > Video Ads** tab, pick how you want to create:
Paste a product or landing page URL. AI creates a video ad from it automatically.
An AI actor naturally presents your product in an authentic talking-head video.
Upload a competitor's video ad or any video you like. AI recreates it for your brand.
You can also browse **video templates** below the creation cards to recreate a proven style.
## Step-by-Step: Using a Video Template
The easiest way to get started with video ads:
Click **Canvas** in the left sidebar, then select the **Video Ads** tab.
Scroll through the available video templates by category (Hook, Viral, SALE, etc.). Each template shows a preview so you can see the style and pacing.
Click on a template you like. You'll see a full preview and can choose to recreate it.
Select a product from your catalog, or enter your product details manually. Provide your product images and key selling points.
Adjust the headline, body text, and call-to-action. Choose your preferred aspect ratio for the final video.
Click **Generate** and wait for your video to render. Video generation typically takes 2–5 minutes.
Watch the preview of your generated video. For the best quality, click **Render Final Video** to apply pro lip-sync processing. Then download or save to your Media Library.
## Step-by-Step: Clone a Video Ad
Spotted a competitor ad that's performing well? Clone its style for your brand:
On the Video Ads tab, click the **Clone a Video Ad** card (labeled "Competitor Clone").
Upload a video file (`.mp4`, `.mov`, or `.webm`, up to 500 MB). You can also reuse a previously analyzed video.
Click **Analyze Video**. AI breaks down the video's structure, script, and visual style. This takes about 30–60 seconds.
Choose which product to feature in the recreated video.
Adjust the messaging and visual details, upload your product images, then click **Generate**. AI produces a new video inspired by the original, using your product and branding.
For a full walkthrough of every step, see the [Clone a Video Ad guide](/guides/create/clone-video-ad).
## Preview vs. Final Render
When you generate a video, the initial result is a preview. Previews let you quickly evaluate the content and style. To get the polished, production-ready version, click **Render Final Video** — this applies pro lip-sync processing that aligns lip movements to the audio for a natural result. Rendering costs additional credits based on video duration. See [Render Credit Costs](/guides/create/video-ads#render-credit-costs) for pricing.
## Tips for Better Results
* **Start with templates** — Templates are pre-tested and optimized for engagement. They're the fastest path to a high-quality video ad.
* **Clone what works** — If a competitor ad is winning, clone the style and make it your own.
* **Use clear product images** — Crisp, well-lit product shots translate better into video.
* **Try multiple aspect ratios** — Different placements (Feed, Stories, Reels) work best with different aspect ratios.
* **Always render the final video** — Lip-sync rendering makes a significant difference in quality.
## What's Next?
Generate a realistic UGC-style avatar video.
Use your video to launch a Meta ad campaign.
# Importing Existing Campaigns
Source: https://docs.adstellar.ai/getting-started/import-campaigns
Import your existing Meta campaigns into AdStellar to track performance and power AI-driven optimizations.
## Overview
If you already have campaigns running on Meta, importing them gives AdStellar the historical performance data it needs to power AI features like smart recommendations and automated optimizations.
## Import Campaigns
Go to **Integrations**, open the **Meta** integration, and click **Import Campaigns**. A slide-over panel will open.
Choose the ad account you want to import from. Only [connected ad accounts](/getting-started/connect-ad-account) are available.
Confirm your selection. AdStellar syncs your existing campaigns, ad sets, and ads from that account.
The import runs in the background. You can close the panel and continue working — check progress anytime on the Meta integration page.
## What Gets Imported
AdStellar pulls in the full campaign structure:
* **Campaigns** — objectives, budgets, and status
* **Ad Sets** — targeting, placements, and scheduling
* **Ads** — creatives, copy, and delivery status
* **Performance data** — spend, impressions, clicks, conversions, and other metrics
## Viewing Imported Data
Once the import finishes, your campaigns and their performance metrics appear in the **Performance** dashboard. Use this data to:
* Analyze what's working across your existing campaigns
* Identify underperforming ads
* Inform your next batch of AI-powered campaigns
# Getting Started with AdStellar
Source: https://docs.adstellar.ai/getting-started/quickstart
Welcome to AdStellar AI! Once you're inside the platform, getting set up takes just a few minutes. Learn how to connect your Meta account, link an ad account, import campaigns, and launch your first AI-powered campaign.
## Setup Overview
Your Setup page includes four steps:
1. Connect your Meta account
2. Connect an ad account
3. Import campaigns
4. Set campaign goals
You can complete these steps in any order, but we recommend following them from top to bottom. Let's walk through them.
***
## Step 1: Connect Your Meta Account
To launch and manage campaigns, AdStellar AI needs permission to access your Meta ad accounts and performance data.
### How to connect
### AdStellar AI uses Meta permissions to:
* Read campaign performance
* Create and publish ads
* Read audience data
* Read pixel data
* Sync campaign performance data to AdStellar for reporting
Your data is never shared and is only used to power your campaigns.
***
## Step 2: Connect an Ad Account
Once your Meta profile is connected, the next step is to link a Meta Ad Account to your workspace. AdStellar AI uses this ad account to sync data, import campaigns, and publish new AI-generated campaigns on your behalf.
### How to connect an ad account
Once connected, AdStellar AI will automatically begin syncing your campaign data every hour.
### Ad accounts
You can connect **unlimited ad accounts** on every plan, at no extra cost — connect as many as you manage.
### If you don't see your ad account
If an ad account is missing from the list:
* Ensure you have **Admin** or **Advertiser** access inside Meta Business Manager
* Click **Resync** to refresh your ad account list
* Confirm the ad account is active and not disabled by Meta
* Ask the Business Manager owner to update your permissions if needed
Once your access is corrected, it will automatically appear and can be connected.
***
## Step 3: Import Campaigns
Importing your historical Meta campaigns gives your AI engine more data to learn from, helping generate stronger ad recommendations and insights. This step is optional, but highly recommended. Importing your past campaigns allows AdStellar AI to learn from your historical performance, including your ad copy, headlines, audiences, and results, giving you stronger, more personalized AI recommendations.
### How to import
**Campaign Import Times:** This may take 10-15 minutes depending on the size of the campaign (number of ad sets and ads). You can close this panel and come back later. Your import will continue in the background.
You can navigate to the **Performance** page on the app menu to validate the campaigns were imported correctly.
### Why import?
* AI learns from your past creative performance
* You unlock Creative Leaderboards and breakdowns
* You get a centralized performance history inside AdStellar AI
You can always import campaigns later from **Integrations → Meta**.
Campaign imports are unlimited on all plans. Import as many campaigns as you need for deeper AI learning and stronger recommendations.
***
## Step 4: Set Campaign Goals
This step is critical. Goals tell the AI what success looks like for your campaigns.
The AI uses these goals to analyze which combinations of headlines, creatives, and audiences are performing well versus underperforming. Any results costing more than your target will be flagged.
Set goals for every campaign you import.
***
## Step 5: Launch Your First AI Campaign
Once Setup steps 1-3 are complete, you are ready to launch your first campaign using the AI Campaign Builder.
### How to launch
After the AI campaign has been generated (this may take up to 5 minutes), you will be able to review the Campaigns, Ad Sets, and Ads within AdStellar prior to syncing to Meta.
After the sync to Meta has been completed, you will be able to turn on the Campaigns, Ad Sets, and Ads in Meta. Campaigns, Ad Sets, and Ads are **turned OFF by default** when they are synced to Meta.
### What the AI does for you
* Builds audiences based on your inputs
* Creates multiple ad variations
* Suggests high-performing creative combinations
* Structures ad sets for maximum testing
* Speeds up launching from hours to minutes
This is where AdStellar AI really shines.
### AI Credits
AI credits are the usage currency for AdStellar's AI-powered features. Credits are consumed when you generate images, videos, or launch AI-built campaigns.
* **Only AI-generated content uses credits.**
* **Manually created campaigns do not use credits.**
### Common credit costs
Credit costs vary by model. Here are the most common defaults:
| Feature | Default Model | Credits |
| ------------------------------- | ------------- | --------------------------- |
| **Image Generation** | Nano Banana 2 | 100 credits |
| **Image Editing** | Nano Banana 2 | 100 credits per edit |
| **Image Resize** | Nano Banana 2 | 100 credits per output size |
| **Video (up to 10s)** | Kling 3 Pro | 2,800 credits |
| **Video (up to 15s)** | Kling 3 Pro | 4,200 credits |
| **Talking Actor (up to 30s)** | Omnihuman 1.5 | 8,400 credits |
| **Lip-Sync Render (up to 10s)** | sync-3 | 2,200 credits |
| **AI Campaign Launch** | — | 100 credits |
See [Plans, Billing, and AI Credits](/billing/plans-credits#ai-credit-costs) for the full credit cost breakdown. Premium models and higher resolutions scale up from these baseline rates, and the exact cost is always shown before you generate.
Credits are granted monthly and expire 60 days after being granted. Bonus credits earned through referrals never expire. Image edits and resizes also consume credits each time a revision is applied. Lip-sync rendering is an optional step after video generation that perfects lip movements and audio quality.
[Learn more about AI Credits](/billing/plans-credits)
***
## Setup Complete
Once you finish all steps, your Setup checklist will show **100% complete**. From here, you can:
* Launch new AI campaigns anytime
* Explore Performance Insights
* Add team members
* Connect additional ad accounts
* Manage your billing and AI credits
* Import more campaigns
You're now fully ready to scale with AdStellar AI.
### Navigating Your Workspace
| Feature | What You'll Use It For |
| ------------------------------------------- | --------------------------------------------------------------------- |
| **Dashboard** | High-level overview of spend, launches, and insights |
| **Campaigns** | View and manage all active and historical campaigns |
| **AI Builder** | Build and launch new campaigns using AdStellar's AI |
| **AI Insights** | Creative performance, leaderboards, breakdowns |
| **Integrations** | Connect and manage Meta (ad accounts and imports), Slack, and Cometly |
| **Settings** (workspace menu) | Workspace preferences and team-wide defaults |
| **Billing & Subscription** (workspace menu) | Plan, AI credits, payment methods |
| **Team Members** (workspace menu) | Invite collaborators and manage their roles |
### FAQs
#### Can I connect multiple ad accounts?
Yes. You can connect unlimited ad accounts on every plan, at no extra cost.
#### Do I have to import campaigns?
No. Importing is optional, but recommended for stronger AI output and better insights.
#### Can I invite team members?
Yes. Invite unlimited collaborators from your **workspace menu (top-left) → Team Members**, at no extra cost.
#### Can I change my plan later?
Yes. You can upgrade or downgrade from **Billing & Subscription** at any time.
#### What if I need help during setup?
You can reach us anytime:
* Click the in-app **chat icon**
* Email **[support@adstellar.ai](mailto:support@adstellar.ai)**
### Next Steps
Now that you're set up, here are a few powerful features to try:
1. Explore the AI Campaign Builder to create your first AI-powered campaign
2. Review your Performance Insights and analytics dashboards
3. Set up Creative Leaderboards to track your top-performing ads
4. Invite your team members to collaborate on campaigns
5. Connect additional ad accounts to manage more brands
6. Connect Slack to use the Agent right from your team's channels — see [Use the Agent in Slack](/getting-started/use-agent-in-slack)
Welcome to **AdStellar AI** -- let's launch exceptional campaigns together.
# Setup Checklist
Source: https://docs.adstellar.ai/getting-started/setup-checklist
Complete the 5-step onboarding checklist to get AdStellar fully configured and launch your first AI campaign.
## Overview
The **Setup** page walks you through everything needed to get AdStellar running. A progress bar tracks your completion across five steps.
You can return to the Setup page anytime from the sidebar to review your progress or revisit any step.
## The 5 Steps
Link your Facebook account via OAuth to give AdStellar access to your ad accounts.
Step-by-step instructions for connecting your Meta account.
Choose which ad account(s) to manage in your workspace and sync their data.
How to connect and sync individual ad accounts.
Pull in campaigns already running on Meta so AdStellar has performance data to work with.
Import your existing campaigns and performance history.
Define the result metrics and performance targets that matter to your business. This tells AdStellar's AI what "good performance" looks like for your ads.
Examples:
* **Result metric:** Purchases, Leads, Link Clicks
* **Performance target:** CPA under \$15, ROAS above 3x
Use AdStellar's campaign builder to create and launch your first batch of ads powered by AI recommendations.
## Progress Tracking
The progress bar at the top of the Setup page updates as you complete each step. Each step links directly to the relevant page in AdStellar — click through to take action without leaving the flow.
# Use the Agent in Slack
Source: https://docs.adstellar.ai/getting-started/use-agent-in-slack
Run the full AdStellar Agent right inside Slack — mention @AdStellar in any channel or DM it to analyze performance, create ads, and launch or manage Meta campaigns.
The **[AdStellar Agent](/agent/overview)** works inside Slack, too. It's the same AI media buyer you use in the app — with every tool — reached by mentioning **@AdStellar** in any channel or sending it a direct message. Analyze performance, write copy, generate creative, and launch or manage Meta campaigns without leaving your team's workspace.
The Agent in Slack runs on **your own team and workspace data**, exactly like the in-app Agent. Anything it creates (images, videos, campaigns) shows up in your AdStellar projects, media library, and campaigns just like work you do by hand.
## Connect Slack
Connecting Slack is a one-time, **team-level** step (usually done by a team owner or admin).
In AdStellar, click **Integrations** in the left sidebar and open the **Slack** card.
Click **Connect Slack** and approve the permissions on Slack's authorization screen.
You'll be asked which AdStellar **workspaces** the bot may act in and which one is your **default**. This is ideal for agencies — pick the exact set of client workspaces.
In any Slack channel, run `/invite @AdStellar`, or just open a direct message with the bot. You're ready to go.
## Talk to the Agent
Type `@AdStellar` followed by your request in a channel, or send the bot a direct message.
The bot reacts with ⏳ to acknowledge, runs the Agent, and replies **in a thread** — then swaps the reaction to ✅ when it's done.
Read-only answers (analysis, copy ideas) come straight back. Anything that spends credits or changes your account — launching, pausing, budget changes, image/video generation — shows **Confirm / Cancel** buttons first. Confirmed jobs run in the background and post their result back into the thread.
A few things to try:
```text theme={null}
@AdStellar how did my campaigns do in the last 7 days?
@AdStellar write 3 primary text options for my summer sale
@AdStellar pause the campaign called "Retargeting - Broad" (asks to confirm)
@AdStellar make a 15s UGC video for my product (asks to confirm)
```
Performance analysis and campaign management need a connected Meta ad account. If you haven't connected Meta yet, see [Connect Meta](/getting-started/connect-meta). Creative generation works without it.
## Pick the right workspace (agencies)
Each Slack **channel** can be bound to one AdStellar **workspace** (client), so the Agent always acts on the right account.
* Run `/adstellar workspace` in a channel to choose its workspace. If a channel has more than one allowed workspace, the bot will prompt you the first time you mention it there.
* DMs and any channel without a binding use the install's **default** workspace.
* Run `/adstellar status` anytime to see the current channel's workspace.
## Slash commands
| Command | What it does |
| -------------------------- | ------------------------------------------------------------- |
| `/adstellar workspace` | Choose which AdStellar workspace this channel uses |
| `/adstellar status` | Show the current workspace for this channel |
| `/adstellar capture off` | Stop the Agent from reading this channel (`on` to resume) |
| `/adstellar capture purge` | Stop reading **and** delete what it learned from this channel |
| `/adstellar help` | Show the list of commands |
## Channel context
To give better answers, the Agent can learn from a channel's messages (for example, picking up on goals or feedback your team discusses). It only ever uses this within **your own team and workspace**.
If you'd rather it didn't read a channel, run `/adstellar capture off` in that channel — and `/adstellar capture purge` to also delete anything it already learned there.
## What you can ask
Everything the in-app Agent does, you can do from Slack:
* **Analyze performance** — rank top creatives, copy, and audiences; spot underperformers; explain *why* a metric changed.
* **Create ad creative** — image ads, talking-actor and UGC-style videos, and ads from a landing-page URL or a competitor's ad.
* **Launch & manage Meta campaigns** — build and publish campaigns, clone past winners, and pause, resume, archive, or adjust budgets.
* **Answer questions** — strategy advice, how-to help, and quick lookups about your account.
See the full breakdown in [What You Can Do](/agent/capabilities).
## Good to know
* **Same credits.** Turns are metered in credits just like the in-app Agent, and any paid action is confirmed before it runs — no silent charges. See [Modes & Credits](/agent/modes-credits).
* **Results are also in the app.** Generated creative and campaign changes appear in your AdStellar projects, media library, and campaigns.
* **Slack is additive.** The in-app Agent is always available at [app.adstellar.ai/chat](https://app.adstellar.ai/chat); Slack just brings it to where your team already works.
How the Agent works, conversations, and confirmations.
The full list of things the Agent can handle for you.
# Best Practices
Source: https://docs.adstellar.ai/guides/best-practices
Proven strategies for getting the best results from AdStellar.
Practical guidelines to help you launch better campaigns, test smarter, and scale what works.
## Budget Guidelines
* Minimum **$5/day** per ad set for Leads, **$10/day** for Sales.
* With Creative Testing Mode, budget is split across more ad sets — plan accordingly.
* CBO with at least **\$100/day** works well for 8–12 ad sets.
* Let campaigns run for **3–7 days** before making decisions (learning phase).
See the [Meta Ad Specs guide](/guides/meta-ad-specs) for exact budget minimums by objective.
## Testing Strategy
* Start with **3–5 creative variants** per campaign.
* Use [Creative Testing Mode](/guides/launch/creative-testing-mode) for clean A/B tests.
* Test one variable at a time (creative, headline, audience) for clearest insights.
* Use [AI Combos](/guides/insights/ai-combos) to find untested combinations worth trying.
## Creative Best Practices
* Prepare videos in multiple aspect ratios: **1:1** (Feed), **9:16** (Stories/Reels), **16:9** (In-stream).
* Use 3–5 headline variants and 2–3 primary text variants per creative template.
* Include a clear call-to-action that matches your objective.
* Refresh creatives every **2–4 weeks** to avoid fatigue — check [AI Insights](/guides/insights/ai-insights) for fatigue signals.
## Scaling Winners
* Use [Proven Winners](/guides/insights/proven-winners) to find combinations that work and relaunch them.
* Check AI Insights weekly to spot trends and fatigue.
* When a creative performs well, duplicate it with slight variations to extend its life.
* Use [AI Builder](/guides/launch/ai-builder) to automatically generate campaigns based on your best performers.
## Organization Tips
* Use [naming tokens](/guides/launch/naming-tokens) to keep campaigns organized in Meta Ads Manager.
* Create a workspace per client (agencies) or per product line (brands).
* Save successful launches as templates for quick reuse.
* Use [audience templates](/guides/launch/audience-templates) for targeting configs you use repeatedly.
## Common Mistakes to Avoid
* **Wrong objective** — Don't use Traffic when you want conversions. Use Sales or Leads.
* **Mismatched result metric** — Don't set your result metric to something different from your actual goal.
* **Editing during learning** — Don't change campaigns during the learning phase (first \~50 conversions).
* **Forgetting to activate** — AdStellar publishes campaigns as paused. Don't forget to [turn them on](/troubleshooting/turn-on-campaign) in Meta Ads Manager.
# Brand Kit
Source: https://docs.adstellar.ai/guides/create/brand-kit
Set up your brand identity so AI generates on-brand creatives every time.
Your Brand Kit tells AdStellar's AI about your brand's visual identity, target audience, and aesthetic preferences. Setting it up ensures that every generated creative feels consistent and on-brand.
## Setting Up Your Brand Kit
Go to **Brand Kit** in the left sidebar to configure your brand identity.
### Brand Identity
The core visual elements of your brand:
* **Brand name** — Your company or product name
* **Brand logo** — Upload your logo for use in creatives
* **Brand colors** — Add your primary and secondary brand colors
* **Brand fonts** — Select the fonts that match your brand guidelines
### Buyer Profiles
Define who you're selling to:
* **Target demographics** — Age, gender, location
* **Interests and behaviors** — What your ideal customers care about
* **Pain points** — Problems your product solves
* **Buying motivations** — What drives purchase decisions
Buyer profiles help AI write more targeted ad copy and choose more relevant creative directions.
### Market Research
Add context about your market:
* **Competitors** — Who you're competing against
* **Positioning** — How your brand differentiates
* **Tone of voice** — How your brand communicates (professional, casual, bold, etc.)
### Aesthetic Styles
Set visual preferences that guide creative generation:
* **Style direction** — Modern, minimal, bold, playful, etc.
* **Color preferences** — Beyond brand colors, what palette feels right
* **Image style** — Photography, illustration, mixed media
## How the Brand Kit Affects Generation
When you generate any creative (image ads, video ads, or UGC videos), AI references your Brand Kit to:
* Use your brand colors in ad backgrounds and overlays
* Apply your preferred fonts to text
* Write copy that matches your tone of voice
* Target the right audience in the messaging
* Follow your aesthetic direction
## Best Practices
* **Fill out everything** — The more context AI has, the better the output
* **Update regularly** — As your brand evolves, keep your Brand Kit current
* **Be specific about tone** — "Friendly and approachable, like talking to a smart friend" is better than just "casual"
* **Add buyer profiles** — They make a huge difference in copy quality
# Clone a Video Ad
Source: https://docs.adstellar.ai/guides/create/clone-video-ad
Paste any video ad URL or upload a file, and AI will recreate it for your brand.
Clone a Video Ad lets you take any existing video ad — from a competitor, inspiration library, or your own past work — and recreate it with your product and branding. AI analyzes the original video's structure, pacing, and style, then generates a fresh version featuring your product.
## When to Use Clone
* You spotted a competitor ad that's performing well and want a similar style for your brand
* You found a video ad format you like and want to adapt it to your product
* You want to quickly test a proven ad style without starting from scratch
## Getting Started
Go to **Canvas > Video Ads** and select the **Clone a Video Ad** card (labeled "Competitor Clone").
## Step-by-Step Walkthrough
Upload a video file directly (`.mp4`, `.mov`, or `.webm`, up to 500 MB). You can also reuse a **previously analyzed video** if you've cloned before.
The source video is only used as a style reference. Your generated video will feature your own product and branding — no copyrighted content is reproduced.
Once you provide a source video, click **Analyze Video**. AI breaks down the video into:
* **Scene-by-scene structure** — How the video is composed and paced
* **Script / voiceover** — Any spoken text is transcribed
* **Visual style** — Colors, transitions, and overall aesthetic
* **People detection** — Whether the video features a person (used to suggest adding an AI actor)
Analysis typically takes 30–60 seconds. You can reuse analyses for future clones.
Choose which product to feature in the cloned video. Your product name, description, and selling points are pulled in automatically.
Customize the messaging — highlight specific benefits, promotions, or features you want to emphasize in the recreated video.
Adjust the visual direction. You can add notes about the style, color scheme, or aesthetic you want.
Select or upload the product images that will appear in the video. Use your best, highest-quality shots for the best results.
If the original video featured a person, the wizard will suggest adding an AI actor. You can choose an avatar or skip this step.
Set your preferred:
* **Aspect ratio** — 1:1, 4:5, 9:16, or 16:9
* **Duration** — How long the final video should be
* **Number of variations** — Generate multiple versions to test
Preview your setup, confirm the details, and click **Generate**. Video rendering typically takes 2–5 minutes.
Watch the preview of your generated video(s). From here you can:
* **Render Final Video** — Apply pro lip-sync processing for the highest quality output. This aligns lip movements to the audio and polishes the result. Rendering costs additional credits based on duration — see [Render Credit Costs](/guides/create/video-ads#render-credit-costs).
* **Download** the video
* **Save to Media Library** for use in campaigns
* **Save to Project** to organize with related creatives
## How Competitor Detection Works
When you clone a competitor's ad, AI automatically detects and handles branding:
* **Competitor branding is replaced** — Logos, brand names, and brand-specific messaging from the original are swapped out for your product and brand identity
* **Your brand stays intact** — If you clone one of your own past ads, your branding is preserved
This ensures every generated video is on-brand and ready to launch.
## Previously Analyzed Videos
After analyzing a source video, it's saved for your team. You can reuse it anytime without re-uploading or re-analyzing. This is useful when you want to create multiple variations from the same reference.
There is a limit of **5 video analyses per day** per team.
## Aspect Ratio Guide
| Aspect Ratio | Best For |
| ---------------- | ----------------------------- |
| 1:1 (Square) | Facebook Feed, Instagram Feed |
| 4:5 (Portrait) | Facebook Feed, Instagram Feed |
| 9:16 (Vertical) | Stories, Reels, TikTok |
| 16:9 (Landscape) | In-stream, Audience Network |
## Best Practices
* **Use high-quality source videos** — The better the reference, the better the AI can understand the structure and style
* **Keep source videos under 60 seconds** — Shorter references produce more accurate recreations
* **Upload clear product images** — Crisp, well-lit photos translate better into video
* **Try multiple variations** — Generate 2–3 versions to A/B test which performs best
* **Combine with templates** — Use Clone for competitor-inspired styles and Templates for proven formats
# Canvas Overview
Source: https://docs.adstellar.ai/guides/create/creative-hub-overview
Your central workspace for creating AI-powered image ads, video ads, and UGC avatar videos.
The Canvas is where all ad creation happens in AdStellar. From here, you can generate image ads, video ads, and UGC avatar videos — all powered by AI.
## How It Works
When you generate a creative in the Canvas, AdStellar automatically saves it to a **Project** — a folder that keeps all your generated assets organized. From there, you can refine your images using the built-in AI editor, resize them for different placements, and iterate until they're ready. Once you're happy with your creatives, you can move them to your **Media Library** and use them to launch ads directly through AdStellar's campaign launcher.
In short: **Generate → Refine in your Project → Launch as ads.** The Canvas is the starting point, and everything flows from there.
## Getting to the Canvas
Click **Canvas** in the left sidebar. You'll see tabs for each type of creative you can make:
* **Image Ads** — Generate static image ads using AI
* **Video Ads** — Create video ads from a product page, clone a competitor ad, browse templates, or create UGC avatar videos
* **Video Editor** — Trim, caption, and polish any video, and add AI voiceovers or sound effects
## What You Can Create
Generate ad images from a product URL, reference image, competitor ad, or with an AI actor.
Create video ads from a product page, templates, or by cloning a competitor's video.
Upload any video ad and AI recreates it for your brand — competitor branding is automatically replaced.
Generate realistic talking-head videos with AI avatars delivering your script.
Trim, layer, caption, and polish any video with a built-in editor. Add AI voiceovers, sound effects, and auto captions.
## Editing Generated Images
After generating image ads, you can refine them without starting over. Open any image from your project to access the chat-based editor — describe what you'd like to change and AI revises it. You can also resize images to different aspect ratios for various placements.
Learn more in the [image editing guide](/guides/create/image-ads#editing-generated-images).
## How Credits Work
Each generation uses AI credits, and the exact cost is always shown before you generate. Rough guide:
* **Image ads** — about 100 credits per image
* **Image edits and resizes** — about 100 credits each time a revision or resize is applied
* **Video ads** — from 2,800 credits (10s), scaling with duration and model
* **UGC avatar / talking videos** — video cost plus an automatic lip-sync pass for talking clips over 10 seconds
See [Plans & Credits](/billing/plans-credits#ai-credit-costs) for the full breakdown. Check your remaining credits anytime on your [Billing page](/billing/plans-credits).
## Supporting Features
The Canvas works best when paired with these tools:
* **[Products](/guides/create/products)** — Add your products so AI knows what to advertise
* **[Brand Kit](/guides/create/brand-kit)** — Set up your brand identity for on-brand creatives
* **[Projects](/guides/create/projects)** — Organize your generated creatives into folders
* **[Media Library](/guides/create/media-library)** — Store and manage all your creative assets
# Creating Image Ads
Source: https://docs.adstellar.ai/guides/create/image-ads
Generate professional image ads using AI — from product URLs, references, competitor ads, or with AI actors.
AdStellar offers four ways to create image ads, each suited for different situations. All methods are available from the **Canvas > Image Ads** tab.
## Creation Methods
### Product Page URL
The quickest way to create ads. Paste your product or landing page URL and AdStellar will:
1. Extract your product name, description, and images
2. Analyze your product's selling points
3. Generate multiple ad variations automatically
This works best when your product page has clear images and descriptions.
### Upload a Reference
Have an ad style you love? Upload it as a reference:
1. Upload the reference image
2. Select your product
3. AI recreates the style with your product and branding
This is great for replicating a visual style or layout that's proven to convert.
### Clone from Ad Library
Browse real Meta ads and clone the concept:
1. Search the Meta Ad Library by brand, keyword, or industry
2. Find an ad that catches your eye
3. Click to clone it — AI will recreate the concept with your product
You get the proven creative direction without starting from scratch.
### AI Actor + Product
Combine an AI-generated person with your product for a UGC-style image:
1. Choose an AI actor from the gallery
2. Select your product
3. AI composites the actor with your product in a natural-looking scene
Perfect for brands that want a human element in their ads without a photoshoot.
## Generation Settings
Before generating, you can customize:
* **Aspect ratio** — Square (1:1), portrait (4:5), landscape (16:9), or story (9:16)
* **Number of variations** — Generate multiple versions to test
* **Brand Kit** — Apply your brand colors, fonts, and style preferences
## After Generation
Once your images are generated:
* **Download** — Save to your computer
* **Save to Media Library** — Store in AdStellar for use in campaigns
* **Save to Project** — Organize into a project folder
* **Use in a Campaign** — Go straight to the launcher to create ads with your new creatives
## Editing Generated Images
After generating an image, you can refine it without starting over. Open any generated image from your project and click into the edit panel to make changes.
### Chat-Based Editing
The image editor uses a chat-style interface. Describe the change you want in plain language and AI will apply it to your image:
* Change text, colors, or layout elements
* Adjust the composition or background
* Modify specific parts of the image while preserving the rest
You can make multiple rounds of edits in a single session. Each revision shows a before-and-after comparison so you can toggle between the original and revised versions.
Each image edit costs about 100 credits (25 for HTML/text creatives), shown before you confirm. Check your remaining credits on your [Billing page](/billing/plans-credits).
### How to Edit
Navigate to **Projects** and open the project containing the image you want to edit.
Click on the image to open the edit panel.
Type what you'd like to change in the chat input — for example, "Make the background darker" or "Change the headline text to Summer Sale".
AI applies your changes. Toggle between the original and revised versions to compare.
Make additional edits if needed, or click **Done Editing** to save your changes.
### Resizing Images
You can resize generated images to different aspect ratios without regenerating from scratch:
* **Square (1:1)** — Feed posts
* **Portrait (4:5)** — Feed and Reels
* **Story (9:16)** — Stories and Reels
* **Landscape (16:9)** — In-stream video placements
Select the sizes you need, and AI will regenerate your creative at each aspect ratio. Credits are deducted for each resize.
### After Editing
Once you're satisfied with your edits:
* **Download** — Save the revised image to your computer
* **Add to Media Library** — Store the edited version for use in campaigns
* **Done Editing** — Finalize and save your changes back to the project
## Best Practices
* **Generate multiple variations** — More options means more to test
* **Set up your Brand Kit first** — Generates more consistent, on-brand results
* **Use high-quality source images** — Better inputs produce better outputs
* **Try different methods** — Each method produces a different creative style
# Media Library
Source: https://docs.adstellar.ai/guides/create/media-library
Upload, organize, and manage your creative assets for use across campaigns.
The Media Library is where you store all the images and videos used in your ad campaigns. Assets uploaded here are available when building [creative templates](/guides/launch/creative-templates) and launching campaigns.
## Uploading Assets
Navigate to **Media Library** from the sidebar.
Drag and drop files into the upload area, or click **Upload** to open the file picker. You can upload multiple files at once.
Supported formats:
* **Images** — JPG, PNG, WebP
* **Videos** — MP4, MOV
Files are uploaded and processed automatically. Large videos may take a moment.
Assets are scoped to the selected ad account. When you switch ad accounts, the Media Library shows only assets associated with that account.
## Browsing and Filtering
### Search
Use the search bar to find assets by filename.
### Filter by Type
Filter the library view:
* **All** — shows all assets
* **Images** — shows only image files
* **Videos** — shows only video files
### Archived Assets
Toggle **View Archived** to see assets you've previously archived. Archived assets are hidden from the default view but aren't deleted.
### Pagination
The library uses infinite scroll. Assets load automatically as you scroll down.
## Managing Assets
### Rename
Click the asset name to rename it inline.
### Archive / Unarchive
Archive assets you no longer need. Archived assets are hidden from the default view and from creative template pickers, but can be restored at any time.
### Download
Download the original file to your local machine.
### Retry Failed Uploads
If an upload fails (due to network issues or file problems), a retry button appears on the asset card. Click it to attempt the upload again.
## Asset Metadata
Each asset displays:
* **File size**
* **File type** (image or video)
* **Source** (uploaded, imported from Meta, etc.)
* **Last updated** timestamp
# Product to Video
Source: https://docs.adstellar.ai/guides/create/product-to-video
Turn your product into a cinematic or UGC-style video ad with the Product to Video wizard.
Product to Video is a guided wizard that takes your product details and turns them into a polished video ad. You can start from a reference video, or generate directly from your product page — no source video required.
## Getting Started
Go to **Canvas > Product to Video** to launch the wizard. You have two ways to create:
* **From a reference video** — Provide a source video to inspire the style, then customize for your product
* **From your product page** — Generate a video directly from your product details and images, no reference video needed
## Creating from a Reference Video
Select a reference video to inspire the style. You can paste a video URL or upload a file.
Pick a product from your catalog. The wizard pulls in your product name, description, and selling points automatically.
Customize the product messaging — highlight specific benefits, promotions, or features you want to emphasize.
Adjust the visual style, color scheme, and overall aesthetic of the video.
Select or upload the product images that will appear in the video. Choose your best, highest-quality shots.
Set your preferred aspect ratio, caption style, and other rendering options.
Preview your setup, confirm the details, and click **Generate**. The video will render in 1–5 minutes depending on complexity.
Watch the preview, then optionally render the final video with pro lip-sync for the best quality. Download or save to your Media Library.
## Creating from a Product Page
Generate a video directly from your product data — no reference video needed:
Choose the **Product Page** option to generate from your product details.
Pick a product from your catalog. Your product name, description, images, and selling points are pulled in automatically.
Select which product images to feature in the video. Use your best, highest-quality shots.
Optionally add an AI actor to appear in the video alongside your product for a UGC-style feel.
Set your preferred aspect ratio (1:1, 9:16, or 16:9) and other options.
Click **Generate**. AI creates a video ad from your product details. Rendering takes 1–5 minutes.
Watch the preview, then optionally render the final video with pro lip-sync. Download or save to your Media Library.
## Cinematic vs. UGC Avatar
| Feature | Cinematic | UGC Avatar |
| --------------- | -------------------------------- | ----------------------------- |
| Style | Polished product showcase | Talking-head with product |
| Best for | Premium brands, product launches | Direct response, social proof |
| Includes avatar | No | Yes |
| Script required | No | Yes |
## Preview and Final Render
After generation, you'll get a preview video. To get the best quality, click **Render Final Video** to apply pro lip-sync processing. This aligns lip movements to the audio and polishes the final output. Rendering costs additional credits based on video duration.
See [Render Credit Costs](/guides/create/video-ads#render-credit-costs) for details.
## Best Practices
* **Try product-page mode first** — It's the fastest way to get a video ad from your product
* **Use a reference video for a specific style** — When you want to match a particular look or pacing
* **Use your best product images** — High-resolution, well-lit photos produce better results
* **Try both styles** — Test cinematic and UGC approaches to see what your audience responds to
* **Keep videos short** — 15–30 seconds is the sweet spot for Meta ads
# Managing Products
Source: https://docs.adstellar.ai/guides/create/products
Add and manage your product catalog so AI can create better, more relevant ad creatives.
Products are the foundation of AdStellar's creative generation. When AI knows your product's details, images, and selling points, it produces more accurate and effective ads.
## Adding a Product
Click **Products** in the left sidebar.
Click the **New Product** button to start adding a product.
Fill in your product information:
* **Product name** — The name of your product
* **Product URL** — Link to the product or landing page
* **Description** — What the product is and what it does
* **Selling points** — Key benefits and features (bullet points work best)
* **Promo details** — Any current offers, discounts, or promotions
Add your best product images. These are used by AI when generating creatives. Use high-quality, well-lit photos.
Click **Save** and your product is ready to use across all creative generation features.
## Using Products in Creative Generation
Once a product is saved, you can select it in:
* **Canvas** — Choose it when generating image or video ads
* **Product to Video** — Use it in the video creation wizard
* **UGC Avatar Videos** — The avatar will talk about this product
* **AI Launch** — AI can build campaigns around specific products
## Product AI Generation
From any product's detail page, click **Generate** to instantly create ad creatives based on that product's information. This is a quick shortcut to the Canvas with the product pre-selected.
## Best Practices
* **Be specific with selling points** — "50% lighter than competitors" is better than "lightweight"
* **Add multiple images** — Give AI more options to work with
* **Keep details up to date** — Update prices, promotions, and descriptions regularly
* **Add all your products** — The more products in your catalog, the easier it is to create ads across your line
# Projects
Source: https://docs.adstellar.ai/guides/create/projects
Organize your generated image and video ads into project folders.
Projects help you keep your generated creatives organized. Group related ads together by campaign, product, client, or any system that works for your team.
## Creating a Project
Click **Projects** in the left sidebar.
Click **New Project** and give it a name. Use something descriptive like "Summer Sale - Product X" or "Q1 Video Tests".
You can add creatives to a project in two ways:
* **From generation results** — After generating image or video ads, save them directly to a project
* **From the project page** — Open a project and upload or move creatives into it
## Working with Projects
From a project's page, you can:
* **View all creatives** — See every image and video in the project
* **Edit images** — Open any image to refine it with the [AI-powered editor](/guides/create/image-ads#editing-generated-images). Describe changes in the chat and AI applies them. Credits are deducted for each edit.
* **Resize images** — Regenerate images at different aspect ratios (1:1, 4:5, 9:16, 16:9) for different placements
* **Download** — Download individual creatives or the entire project
* **Move to Media Library** — Send creatives to your Media Library for use in campaigns
* **Delete** — Remove creatives you no longer need
## Best Practices
* **One project per campaign concept** — Keep things focused
* **Name projects clearly** — Future you will thank present you
* **Archive old projects** — Don't delete — archive projects you're done with so they're out of the way but still accessible
# UGC Avatar Videos
Source: https://docs.adstellar.ai/guides/create/ugc-avatar-videos
Generate realistic UGC-style videos with AI avatars talking about your product.
UGC-style ads are among the highest-converting formats on Meta. AdStellar lets you generate them instantly using AI avatars — no creators, no shoots, no waiting.
## What is a UGC Avatar Video?
A UGC avatar video features an AI-generated person talking directly to camera about your product. It looks like authentic creator content, but you have full control over the script, avatar, voice, and delivery.
## How to Create a UGC Avatar Video
Go to **Canvas > Video Ads** and select the **UGC Avatar** option. You can also access this from **Product to Video**.
Choose a product from your catalog or enter details manually. This provides context for the script and visuals.
Select or upload a product image to feature in the video alongside the avatar.
Browse the avatar gallery and pick an AI actor. Choose someone who matches your target audience and brand personality.
Write the script yourself, or click **Generate Script** to let AI write one based on your product details. The best scripts are short, conversational, and hook-first.
Pick a voice for your avatar. Preview different voices to find the right tone and energy. Match the voice to the avatar for a natural feel.
Choose your aspect ratio, tone, and any other creative preferences.
Click **Generate**. Rendering takes 2–5 minutes. Watch the preview to check the content, pacing, and delivery.
The initial result is a preview. For the highest quality output, click **Render Final Video** to apply pro lip-sync processing — this precisely aligns the avatar's lip movements to the audio and polishes the final result. Rendering costs additional credits based on video duration. See [Render Credit Costs](/guides/create/video-ads#render-credit-costs) for details.
Download the video or save it to your Media Library for use in campaigns.
## Choosing the Right Avatar
The avatar gallery includes a variety of stock avatars. When selecting:
* **Match your audience** — Choose an avatar that your target customer can relate to
* **Consider the tone** — Some avatars feel more professional, others more casual
* **Test multiple options** — Different avatars can dramatically change ad performance
### Custom AI Avatars
You can also create a custom AI actor instead of using a stock avatar. Click **Create AI Actor** and configure:
* **Name** — Give your actor a name for easy reference
* **Appearance** — Choose gender, age group, and ethnicity
* **Outfit** — Select from outfit presets or describe what they should wear
* **Scene** — Choose a background setting for the actor
* **Details** — Add any additional description to fine-tune the look
AI generates a portrait based on your selections, which you can then use in any UGC avatar video.
## Script Writing Tips
The script is the most important part of a UGC ad. Here's what works:
* **Start with a hook** — "Stop scrolling if you..." or "I just discovered..."
* **Keep it under 30 seconds** — Short and punchy wins on Meta
* **Talk like a human** — Write how someone would actually speak, not marketing copy
* **Focus on one benefit** — Don't try to say everything in one ad
* **End with a CTA** — Tell viewers what to do next
## Best Practices
* **Generate 3–5 variations** per product with different avatars and scripts
* **Test hooks** — The first 3 seconds determine if someone watches
* **Use portrait (9:16) for Stories/Reels** and square (1:1) for Feed
* **Pair with image ads** — Run UGC videos alongside static images for a diversified creative mix
# Creating Video Ads
Source: https://docs.adstellar.ai/guides/create/video-ads
Create AI-powered video ads from a product page, by cloning a competitor ad, from templates, or with a UGC avatar.
Video ads consistently outperform static images on Meta. AdStellar makes it easy to create professional video ads without a production team.
## Creation Methods
From **Canvas > Video Ads**, choose how you want to create:
Paste a product or landing page URL. AI creates a video ad from it automatically. **Most popular.**
An AI actor naturally presents your product in an authentic talking-head video.
Paste any video ad URL or upload a file. AI recreates it for your brand. **Competitor Clone.**
### Browse & Recreate from Templates
Below the creation methods, you can browse a library of trending, proven video ad styles:
1. Pick a **category** (Hook, Viral, SALE, Clothing, etc.) to filter templates
2. Browse available templates — each shows a preview
3. Click **Recreate** on a template you like
4. Add your product details and images
5. Customize the messaging and settings
6. Generate your video
Templates are pre-tested formats optimized for engagement and conversions.
### Clone a Video Ad
Have a competitor ad or a video style you want to replicate? Clone it:
1. Select **Clone a Video Ad** on the Video Ads page
2. Upload the video file (`.mp4`, `.mov`, `.webm`)
3. AI analyzes the video's structure, script, and style
4. Select your product and customize the details
5. Generate — AI creates a new video inspired by the original, featuring your product and branding
Competitor branding is automatically detected and replaced with yours. See the full [Clone a Video Ad guide](/guides/create/clone-video-ad) for a detailed walkthrough.
## Video Settings
* **Aspect ratio** — Choose based on where the ad will run (Feed, Stories, Reels)
* **Duration** — Set how long the final video should be
* **Variations** — Generate multiple versions to A/B test
## Aspect Ratio Guide
| Aspect Ratio | Best For |
| ---------------- | ----------------------------- |
| 1:1 (Square) | Facebook Feed, Instagram Feed |
| 4:5 (Portrait) | Facebook Feed, Instagram Feed |
| 9:16 (Vertical) | Stories, Reels, TikTok |
| 16:9 (Landscape) | In-stream, Audience Network |
## After Generation
Video rendering typically takes 2–5 minutes depending on complexity. Once complete:
* **Watch the preview** in the results view
* **Download** the video to your computer
* **Save to Media Library** for use in campaigns
* **Save to Project** to organize with related creatives
* **Edit the video** — open the built-in [Video Editor](/guides/create/video-editor) to trim, add captions, layer overlays, or generate an AI voiceover before launching
## Preview and Final Render
When you generate a video, the initial result is a **preview**. Previews are ready quickly and let you evaluate the content, but lip movements and audio may not be fully polished.
### Rendering the Final Video
To get the highest quality output, click **Render Final Video** after reviewing the preview. The final render applies **pro lip-sync processing** that:
* Precisely aligns lip movements to the spoken audio
* Polishes audio quality for a natural, professional result
* Produces the final production-ready video
Rendering typically takes 1–3 minutes per video.
### How to Render
Create a video using any method — Product Page, UGC Avatar, Clone, or Template.
Watch the preview to make sure the content, pacing, and style are right. The preview badge indicates the video has not been lip-sync rendered yet.
When you're happy with the preview, click **Render Final Video**. A confirmation dialog shows the credit cost based on video duration.
The lip-sync render processes in the background. You'll see a progress indicator while it works.
Once complete, the final rendered video replaces the preview. Download it or save it to your Media Library for campaigns.
### Render Credit Costs
Lip-sync rendering is charged separately from video generation:
| Video Duration | Render Cost |
| -------------------- | ------------- |
| **Up to 10 seconds** | 2,200 credits |
| **Up to 15 seconds** | 3,200 credits |
| **Up to 30 seconds** | 6,400 credits |
Rendering is optional. You can download and use preview videos without rendering, but rendered videos will have significantly better lip-sync accuracy and audio quality.
## Best Practices
* **Start with templates** — They're the fastest path to a polished video ad
* **Clone competitor winners** — Spot an ad that's working? Clone the style for your brand
* **Keep videos under 30 seconds** — Shorter videos perform better on Meta
* **Use clear product shots** — Crisp images translate better into video
* **Test multiple aspect ratios** — Run the same creative in different formats to find what performs best
# Video Editor
Source: https://docs.adstellar.ai/guides/create/video-editor
Trim, layer, caption, and polish your video ads with a built-in editor. Add AI voiceovers and sound effects, then save back to your project.
The Video Editor lets you refine any video in your workspace without leaving AdStellar. Open a generated video ad, an uploaded clip, or start from a blank canvas — then trim, layer media, add captions and overlays, generate AI voiceovers, and export the finished cut back to your project and Media Library.
## Opening the Editor
You can launch the Video Editor in a few ways:
* **Canvas → Video Editor** to start from scratch or pick from your existing videos
* From any **video generation result** — open the video and click **Edit**
* From a **project** — open a video asset and click **Edit Video**
If you start fresh, you'll pick an aspect ratio (Reels 9:16, Square 1:1, Feed 4:5, or In-Stream 16:9) and a name for the new editor project before the canvas opens.
## What You Can Do
Cut, split, and reorder clips on a multi-layer timeline. Build a sequence from multiple videos or images.
Drop in titles, captions, shapes, stickers, and animated text with full control over fonts, colors, and timing.
Search a built-in library of stock videos, images, and animated stickers to layer into your edit.
Apply cinematic filters, adjust brightness/contrast/saturation, and color-grade individual clips.
Add transitions between clips and apply effects like blur, zoom, and motion to keep viewers engaged.
Upload your own music, layer multiple audio tracks, adjust volume per clip, and fade in/out.
Open **AI Audio** in the left sidebar, type a script, pick a voice, and generate a natural-sounding voiceover from a library of professional AI voices.
In the same **AI Audio** panel, switch to **Sound Effects** and describe the sound you want in plain English (e.g. "upbeat whoosh transition") and the editor generates it.
Automatically transcribe your video and add styled captions to the timeline in one click.
Switch between Reels, Feed, Square, and In-Stream formats without re-creating your edit.
## How to Edit a Video
Go to **Canvas → Video Editor**, or click **Edit** on any video in a project or generation result.
For new editor projects, pick the aspect ratio that matches where you'll run the ad. You can change it later from the toolbar.
Drag clips, images, and audio onto the timeline. Use the playhead to preview as you go. Trim by dragging clip edges; split clips at the playhead to cut.
Add text, stickers, or shapes from the sidebar. Use **Auto Captions** to transcribe spoken audio and drop styled captions onto the timeline.
Click the **AI Audio** icon in the left sidebar (under Media, My Assets, Text, Stock, Transitions, Captions). The panel slides out with two tabs:
* **Text to Speech** — pick a voice, paste your script (up to 5,000 characters), and click **Generate Speech**. When the clip is ready, click **Add to Timeline** to drop it onto the timeline at the playhead.
* **Sound Effects** — describe the sound you want in plain English and click generate. Add the result to the timeline the same way.
Once the clip is on the timeline you can trim, move, or layer it like any other audio track. AdStellar's video editor does **not** include a "Lip Sync" step — if you need a talking-head video where an avatar's mouth matches new audio, generate it from **Canvas → AI Actor / Premium Video** instead, then open the resulting video here for trimming and overlays.
Click **Save** in the top-right. You'll be asked whether you want to **save as a new version** or **overwrite the current video**. The exported MP4 is saved back to your project and added to your Media Library so you can launch it as an ad.
## AI Audio: Voiceovers & Sound Effects
The **AI Audio** panel is where you generate AI voiceovers (text-to-speech) and AI-generated sound effects directly inside the editor. It lives in the **left sidebar** of the editor — look for the music-note icon labeled **AI Audio**, at the bottom of the stack underneath Media, My Assets, Text, Stock, Transitions, and Captions. Clicking it opens the panel; clicking it again (or anywhere else) closes it.
The panel has two tabs:
### Text to Speech
1. Open **AI Audio** in the left sidebar.
2. Make sure the **Text to Speech** tab is selected.
3. Pick a **Voice** from the dropdown — the list includes our curated professional voices.
4. Paste or type your script into the **Text** field (5,000-character limit per generation).
5. Click **Generate Speech**. A short progress indicator appears while the audio is rendered.
6. When the clip is ready, click **Add to Timeline** to place it onto the timeline at the current playhead position.
Once it's on the timeline you can drag it, trim it, layer it under other audio, or fade it in/out like any other track.
### Sound Effects
1. Open **AI Audio** in the left sidebar.
2. Switch to the **Sound Effects** tab.
3. Describe the sound you want in plain English (e.g. *"short upbeat whoosh transition, no music"*).
4. Click **Generate**, then **Add to Timeline** when the preview sounds right.
### What AI Audio is *not*
The video editor's AI Audio panel is for **adding** audio to a timeline. It does **not** include a "Lip Sync Render" or any step that re-syncs an existing avatar's lip movements to new audio. If you've generated an AI-actor / talking-head video and want to swap the spoken audio with the lips re-synced to the new track, that's the **Premium Video / AI Actor** flow — generate it from **Canvas → AI Actor**, render the final lip-synced output from the project page (the **Render Final Video** button), and then bring the finished MP4 into the Video Editor here for any additional trimming, captions, or overlays.
## Saving: New Version vs. Overwrite
When you save an edit, AdStellar gives you two choices:
* **Save as new version** — keeps the original video untouched and creates a separate edited copy. Use this when you want to A/B test different cuts, or keep a fallback.
* **Overwrite current video** — replaces the displayed video on the generation with your edited cut. The original source file is preserved internally so you can always come back and re-edit.
Both options save the editor project state too, so reopening the video drops you back into the timeline exactly where you left off.
## Aspect Ratios
The editor supports the four aspect ratios you'll use for Meta ads:
| Aspect Ratio | Best For |
| -------------------------- | ----------------------------------------------------- |
| **9:16 (Reels & Stories)** | Instagram Reels, Stories, TikTok-style placements |
| **4:5 (Feed)** | Facebook Feed, Instagram Feed (mobile-optimized) |
| **1:1 (Square)** | Facebook Feed, Instagram Feed, marketplace placements |
| **16:9 (In-Stream)** | In-stream video, Audience Network, YouTube |
You can switch aspect ratios mid-edit — the canvas resizes and your clips stay in place so you can reposition them.
## Browser Requirements
The Video Editor runs in your browser using hardware-accelerated rendering, so it needs a modern browser with **WebGL2** support. We recommend the latest version of **Chrome**, **Edge**, **Brave**, or any other Chromium-based browser. Safari and Firefox are not currently supported.
## Plan Availability & Limits
The Video Editor is included on every plan so you can explore and try edits. However, **exporting and saving** a finished edit — along with some AI features — has limits depending on your plan.
### Saving & Exporting
The Video Editor — including **unlimited saves and exports** — is included on every plan (and during your free trial). Editing and exporting consume AI credits like other AI features, and you'll see the cost before you render.
### Other Limits
* **Voiceover script length** — up to **5,000 characters** per text-to-speech generation. For longer scripts, split them across multiple generations and stitch the audio clips together on the timeline.
* **Aspect ratios** — 9:16, 4:5, 1:1, and 16:9 are supported. New blank editor projects default to 9:16 (Reels & Stories).
* **Project state size** — very large editor projects (hundreds of clips and overlays) may take longer to save. For typical 15–60 second ads, you won't hit any practical limit.
## Tips for Great Video Ads
* **Hook in the first 2 seconds** — start with motion, a bold caption, or a question to stop the scroll
* **Add captions** — most viewers watch with sound off; auto captions take seconds and dramatically lift completion rates
* **Keep it short** — 15–30 seconds outperforms longer cuts on Meta in most cases
* **Use vertical (9:16) for Reels & Stories** — it's the highest-performing placement for most ecommerce brands
* **Layer a voiceover over silent b-roll** — combine AI text-to-speech with stock clips to produce talking-head-style ads in minutes
## Related Guides
* [Creating Video Ads](/guides/create/video-ads) — generate the source video before editing
* [UGC Avatar Videos](/guides/create/ugc-avatar-videos) — generate talking-head videos with AI actors
* [Media Library](/guides/create/media-library) — manage edited videos and use them in campaigns
* [Projects](/guides/create/projects) — organize generations and edits together
* [Plans & Credits](/billing/plans-credits) — how AI credits and billing work
# Frequently Asked Questions
Source: https://docs.adstellar.ai/guides/faq
Answers to common questions about AdStellar.
Not currently. Campaigns, templates, and media must be recreated in the target workspace.
It's soft-deleted and can be restored by support for up to 30 days. After that, it's permanently removed.
Yes. Team members can be added to as many workspaces as needed.
AdStellar publishes all campaigns in a paused state. This gives you a chance to review everything before going live. You can turn them on directly from AdStellar's Ads Manager using the status switches, or in Meta Ads Manager — see the [Turn On Campaign](/troubleshooting/turn-on-campaign) guide.
Yes. Connect your Meta account once, then connect individual ad accounts to specific workspaces. Each workspace can have its own ad accounts.
AdStellar uses Meta Marketing API v24.0.
Yes. You can create carousel creatives in your creative templates with multiple cards, each with its own image, headline, description, and link.
Initial sync typically takes 5–30 minutes depending on account size. After that, data syncs periodically in the background.
You can launch Traffic campaigns without a pixel, but Leads and Sales campaigns require a pixel for conversion tracking. AI features also work better with pixel data.
AI Launch uses AI to analyze your performance data and automatically select the best creatives, audiences, and settings. The manual launcher lets you choose everything yourself. Both create the same campaign structure — the difference is who picks the components.
AdStellar doesn't currently offer a public API. All functionality is available through the web application.
Open your **workspace menu (top-left) → Billing & Subscription** and click **Cancel Subscription**. Cancellation takes effect at the end of your current billing period — you retain full access until then. See [Managing Your Subscription](/billing/manage-subscription) for details.
AdStellar doesn't offer self-service account deletion. Email [support@adstellar.ai](mailto:support@adstellar.ai) with the subject "Account Deletion Request" and we'll process it within 30 days. Note: canceling your subscription is different from deleting your account.
Contact [support@adstellar.ai](mailto:support@adstellar.ai) with your account email and charge details. Refund requests are handled on a case-by-case basis. To avoid future charges, cancel your subscription before the trial ends.
Yes. AdStellar's [Canvas](/guides/create/creative-hub-overview) generates AI-powered image ads, video ads, and UGC avatar videos. You can create creatives from a product URL, a reference image or video, a competitor ad, or with an AI actor. The [AI Builder](/guides/launch/ai-builder) also generates ad copy (headlines, primary text) when building campaigns. You can bring your own assets too — AdStellar works with both AI-generated and manually uploaded creatives.
After importing, set your result metric in Ads Manager, then wait for data to sync (5–30 minutes). Once data appears, check AI Insights to see what's working, use Proven Winners to find top combinations, and launch a new campaign with AI Builder. See [What AdStellar Does](/introduction) for the full workflow.
AdStellar shows campaigns from the last 90 days. Older campaigns won't appear. Also check that you've selected the correct ad account and that the campaign isn't deleted or archived in Meta.
Yes. Go to Ads Manager, find the campaign, and remove it. This only removes data from AdStellar — your actual Meta campaign is not affected. See [Import Limits](/guides/import-limits) for details.
Meta Pixel is a piece of code on your website that tracks visitor actions (like purchases or form submissions) and reports them to Meta. You need it for Leads and Sales campaigns so Meta can optimize delivery for conversions. Traffic campaigns can run without a pixel. See [Conversion Tracking & Pixel Setup](/guides/launch/conversion-settings) for setup details.
# Glossary
Source: https://docs.adstellar.ai/guides/glossary
Definitions of common advertising and AdStellar terms.
Quick reference for advertising and AdStellar terminology, listed alphabetically.
## A
**ABO (Ad Set Budget Optimization)** — Budget is set and controlled at the ad set level. Each ad set gets its own budget.
**Ad Set** — A group of ads that share targeting, budget, schedule, and optimization settings. Part of a campaign.
**Advantage Audience** — Meta's AI-powered audience expansion. When enabled, Meta can show ads to people outside your specified targeting if it predicts they'll convert.
**Advantage Campaign Budget** — See CBO.
**AI Credits** — The usage currency for AdStellar's AI-powered features, priced at $0.002 per credit ($1 = 500 credits). Consumed when generating images, videos, editing creatives, rendering lip-sync, or launching AI campaigns. Monthly plan credits expire 60 days after they're granted; bonus and referral credits never expire. See [How AI Credits Work](/billing/credits-explained).
**Attribution Window** — The time period after a click or view during which Meta credits a conversion to your ad. Default: 7-day click, 1-day view.
## B
**Brand Kit** — Your brand identity configuration in AdStellar, including brand name, colors, fonts, buyer profiles, and aesthetic preferences. Used by AI to generate on-brand creatives. See [Brand Kit](/guides/create/brand-kit).
## C
**CBO (Campaign Budget Optimization)** — Budget is set at the campaign level. Meta distributes it across ad sets based on performance. Also called "Advantage Campaign Budget."
**Conversion Event** — A specific action you want people to take on your website (e.g., Purchase, Lead, Add to Cart). Tracked by Meta Pixel.
**CPA (Cost Per Acquisition)** — The average cost to acquire one conversion. Calculated as Spend ÷ Results.
**CPC (Cost Per Click)** — The average cost per link click. Calculated as Spend ÷ Clicks.
**CPM (Cost Per Mille)** — The cost per 1,000 impressions. Calculated as (Spend ÷ Impressions) × 1,000.
**Canvas** — AdStellar's central workspace for creating AI-powered image ads, video ads, and UGC avatar videos. See [Canvas Overview](/guides/create/creative-hub-overview).
**Creative Template** — A reusable set of media assets and copy variants in AdStellar that can be combined to create multiple ad variations.
**CTR (Click-Through Rate)** — The percentage of impressions that resulted in a click. Calculated as Clicks ÷ Impressions × 100.
## D
**DSA (Digital Services Act)** — EU regulation requiring ad transparency, including beneficiary and payer information on ads.
## I
**Image Editing** — AdStellar's chat-based AI editor for refining generated images. Describe changes in plain language and AI applies them. See [Editing Generated Images](/guides/create/image-ads#editing-generated-images).
## L
**Learning Phase** — Meta's initial optimization period for new ad sets. Typically requires \~50 conversions. Performance may be volatile during this period.
**Lip-Sync Render** — An optional post-generation step for video ads that applies pro lip-sync processing to align lip movements with audio. Produces the highest quality video output. See [Preview and Final Render](/guides/create/video-ads#preview-and-final-render).
## M
**Media Library** — Where you store and manage all creative assets (images and videos) in AdStellar. Assets uploaded here are available when building campaigns. See [Media Library](/guides/create/media-library).
**Meta Pixel** — A piece of code on your website that tracks visitor actions and sends them to Meta for ad optimization and reporting.
## O
**Optimization Goal** — What you tell Meta to optimize delivery for within your objective (e.g., Landing Page Views, Offsite Conversions, Lead Generation).
## P
**Project** — An organizational folder in AdStellar for grouping related generated creatives together. See [Projects](/guides/create/projects).
**Proven Winners** — Real ad combinations from your campaign history that delivered strong results. Used for scaling. See [Proven Winners](/guides/insights/proven-winners).
## R
**Result Metric** — The primary KPI you choose in AdStellar to measure campaign success. Determines how performance data is displayed and ranked.
**ROAS (Return On Ad Spend)** — Revenue generated per dollar spent. Calculated as Conversion Value ÷ Spend.
## U
**UGC Avatar Video** — An AI-generated video featuring a realistic avatar talking to camera about your product. Designed to look like authentic user-generated content. See [UGC Avatar Videos](/guides/create/ugc-avatar-videos).
## W
**Workspace** — An organizational container in AdStellar that isolates campaigns, templates, media, and analytics. Used to separate clients, brands, or projects.
# Ads Manager
Source: https://docs.adstellar.ai/guides/insights/ads-manager
Monitor and manage campaigns, ad sets, and ads with drill-down metrics, on/off switches, budgets, and goals.
Ads Manager gives you a real-time view of how your campaigns, ad sets, and ads are performing across all connected ad accounts, with controls to turn them on or off, edit budgets, and set goals. Find it in the left sidebar, right under Launch.
## Campaign Hierarchy
The dashboard is organized as a drill-down table:
1. **Campaigns** — top-level view of all campaigns in the selected ad account
2. **Ad Sets** — expand a campaign to see its ad sets
3. **Ads** — expand an ad set to see individual ads
Click any row to drill into its children. Breadcrumbs at the top let you navigate back up the hierarchy.
## Metrics
Every level of the hierarchy displays the same core metrics:
| Metric | Description |
| -------------------- | ----------------------------------- |
| **Spend** | Total amount spent |
| **Clicks** | Link clicks |
| **Impressions** | Number of times ads were shown |
| **CTR** | Click-through rate |
| **CPM** | Cost per 1,000 impressions |
| **CPC** | Cost per click |
| **Results** | Conversions based on your objective |
| **Conversion Value** | Revenue attributed to conversions |
| **Cost per Result** | Average cost per conversion |
| **ROAS** | Return on ad spend |
Use **Column Presets** to quickly switch between metric views (e.g., "Engagement", "Conversions", "Revenue"). You can also build a custom column layout with the column customizer.
## Filtering
### Date Range
Filter data by preset ranges or a custom window:
* Today
* Yesterday
* Last 7 Days
* Last 14 Days
* Last 30 Days
* Lifetime
### Status
Filter campaigns by delivery status:
* **All** — shows everything
* **Active** — currently delivering
* **Paused** — manually paused
### Search
Use the search bar to find campaigns, ad sets, or ads by name. Results filter in real time as you type.
### Sorting
Click any column header to sort ascending or descending. Sorting applies within the current hierarchy level.
## Performance Tiers
AdStellar assigns a performance tier to each campaign, ad set, and ad based on your goals:
| Tier | Meaning |
| ------------ | ---------------------------------------------------- |
| **Winner** | Exceeding your target metrics consistently |
| **Good** | Meeting targets within an acceptable range |
| **Learning** | Still in Meta's learning phase — not enough data yet |
| **Poor** | Underperforming against your targets |
Performance tiers only appear for campaigns that have goals set. [Learn about setting goals →](/guides/launch/goals)
## Attribution Source
Toggle between **Meta** and **Cometly** attribution at the top of the dashboard. This changes which data source is used for conversion-related metrics (Results, Conversion Value, Cost per Result, ROAS).
[Learn about attribution settings →](/integrations/attribution)
# AI Combos
Source: https://docs.adstellar.ai/guides/insights/ai-combos
Discover untested ad combinations that are predicted to perform well.
## Overview
AI Combos surfaces combinations of high-performing ad elements that haven't been tested together yet. By analyzing the individual performance of your creatives, copy, CTAs, and audiences, AI predicts which untested pairings are most likely to deliver strong results.
AI Combos is included on **every plan**.
## Viewing AI Combos
Navigate to **AI Combos** from the sidebar and select your ad account.
The main view shows landing page cards. Each card displays:
* **Landing page URL**
* **Performance metrics** — Spend, Conversions, Cost/Result, ROAS, CTR
* **Number of AI combos** available for that page
Click **View Combos** on any card to see the predicted combinations for that landing page.
Each combo card shows the specific elements that make up the combination:
* **Creative** — thumbnail preview of the ad creative
* **Headline** — the ad headline
* **Primary Text** — the ad body copy
* **CTA** — the call-to-action button
* **Audience** — the targeting combination
Predicted performance metrics are shown based on how each element has performed individually in past campaigns.
## Adding Combos to a Draft
Click **Add to Draft** on any combo card to add that combination directly to a campaign draft. To add multiple combos at once, use the checkbox on each card for bulk selection, then click the bulk add action.
Adding combos to a draft doesn't launch anything immediately. You'll go through the full [launch flow](/guides/launch/overview) to review and publish.
## Filters and Controls
| Filter | Options |
| --------------- | ------------------------------------------------------------------------------------------- |
| **Date Range** | Last 7 Days, Last 30 Days, Last 60 Days, Last 90 Days, All Time |
| **Attribution** | Meta (default) or Cometly (when connected via [Cometly integration](/integrations/cometly)) |
| **Search** | Filter landing pages by URL |
| **Ad Account** | Switch between connected ad accounts |
## AI Combos vs. Proven Winners
AI Combos are **predicted** combinations — the elements have performed well individually but haven't been tested together as a group. For combinations that have actually run together and delivered results, see [Proven Winners](/guides/insights/proven-winners).
# AI Insights: Analyzing Your Ad Performance
Source: https://docs.adstellar.ai/guides/insights/ai-insights
How to use the AI Insights page inside of AdStellar AI.
Once you've connected your ad account, imported your campaigns, and set your campaign goals, you're ready to start using AdStellar's powerful analytics. This guide covers the AI Insights feature, which gives you visibility into your ad performance that you won't find in Meta Ads Manager or any other platform.
## Ads Manager
After importing your campaigns and setting goals, Ads Manager displays your key metrics:
* **Results** (website leads, purchases, etc.)
* **Conversion value**
* **ROAS**
* All other data pulled directly from Meta
This page serves primarily as a verification tool to confirm your data matches what you see in Meta. You don't need to use this as your main ads manager -- it's there to give you confidence that your data imported correctly.
## The AI Insights Page
This is where AdStellar truly differentiates itself. When you imported your campaign, you didn't just import raw data -- you imported audiences, headlines, creatives, copy, and everything else. AdStellar parses out each component of your ad campaign so you can analyze them individually.
### Analyzing Creatives
On the AI Insights page, select **Creative** to see performance data for each creative asset.
**Understanding the Score:** The score is based on the goal you set in Ads Manager. If your goal is \$20 per result and your creatives are coming in above that, they'll show a lower score.
**Viewing Performance Over Time:**
Click on any creative in the list to open its detailed performance view.
View the chart showing how key metrics (cost per result, results, spend) trend over your selected date range.
**Checking for Creative Fatigue:**
To determine if a creative is experiencing fatigue:
Click on the creative you want to evaluate.
Widen the date range to see longer-term performance trends.
Watch for a rising cost per result or declining results over time.
If the trend line shows consistent degradation, the creative is likely fatigued and should be refreshed or replaced.
### Analyzing Headlines
Switch to the **Headline** view to compare headline performance across your ads.
For example, you might see:
* Headline A: 59 results at \$39 cost per result, used on 8 ads
* Headline B: Better performance at \$26 cost per result, used on 7 ads
This makes it immediately clear which headline is winning and should be prioritized in future campaigns.
### Analyzing Ad Combinations
The **Ad Combination** view pulls everything together -- creative, headline, copy -- to show complete ad performance.
**Tips for using this view:**
* Sort by **Results** to see top performers
* Adjust the date range (e.g., last 30 days) for relevant data
* Click any combination to view its performance chart over time
* Select multiple ads for side-by-side comparison on the chart
**Card View:** Scroll down to access the Card View, which displays:
* Performance metrics and numbers
* The actual creative image/video
* Copy text
* Headline
Click into any card to dive deeper into what's working for that specific ad combination.
## Filtering and Customization
You can filter your data to focus on what matters most:
* Filter by minimum spend threshold to exclude low-data ads
* Customize columns to show the metrics you care about
* Use the various viewing options to analyze data in different ways
## How AI Insights Powers Your Future Campaigns
All the data visible on the AI Insights page feeds directly into AdStellar's AI engine. When you use the AI Launch feature, the system draws on these insights to make smarter ad combination decisions for your new campaigns.
## Quick Tip: Add to Draft
When you find a top-performing ad combination you want to relaunch:
Click on the top-performing ad combination from any insights view.
Click the **Add to Draft** button to save the combination.
The combination is saved and ready to use in your next campaign via the launcher.
***
Spend time exploring the AI Insights page and learning how to use each view. The insights you gain here will help you make smarter decisions about which creatives, headlines, and combinations to use in future campaigns.
# Proven Winners
Source: https://docs.adstellar.ai/guides/insights/proven-winners
Find and scale your best-performing ad combinations.
## Overview
Proven Winners shows the exact element combinations that have run together in live campaigns and delivered strong results. Unlike [AI Combos](/guides/insights/ai-combos) which are predictions, every combination here has real performance data behind it.
## Viewing Proven Winners
Navigate to **Proven Winners** from the sidebar and select your ad account.
Landing page cards are ranked by performance. Each card shows:
* **Landing page URL**
* **Spend** — total ad spend for that page
* **Results** — total conversions or outcomes
* **Purchase Value** — total conversion value
* **Cost per Result** — average cost per conversion
* **ROAS** — return on ad spend
* **CTR** — click-through rate
Click **View Winners** on a landing page card to see its top-performing ad combinations.
Every proven combo shows the exact elements that ran together:
* **Creative** — the ad image or video
* **Headline** — the headline used
* **Primary Text** — the body copy
* **CTA** — the call-to-action button
* **Audience** — the targeting that was active
Each combo displays real performance metrics: Spend, Results, ROAS, CTR, CPC, and Conversion Value.
## Scaling a Winning Combination
Click **Add to Draft** on any proven winner to add that exact combination to a new campaign draft. This lets you relaunch what's already working — same creative, same copy, same audience — with fresh budget.
Proven Winners are your safest bet for scaling. These combinations have already delivered results, so relaunching them carries lower risk than testing new variations.
## Sorting Options
Sort winning combinations by any of these metrics:
* Performance Score
* Spend
* Results
* Cost per Result
* ROAS
* CTR
* Conversion Value
## Filters
| Filter | Options |
| --------------- | ------------------------------------------------------------------------------------------- |
| **Date Range** | Last 7 Days, Last 30 Days, Last 60 Days, Last 90 Days, All Time |
| **Attribution** | Meta (default) or Cometly (when connected via [Cometly integration](/integrations/cometly)) |
## Proven Winners vs. AI Combos
| | Proven Winners | AI Combos |
| --------------- | ---------------------------- | --------------------------------------------- |
| **Data source** | Real campaign results | Predicted from individual element performance |
| **Risk level** | Lower — tested and validated | Higher — untested combinations |
| **Best for** | Scaling what works | Discovering new opportunities |
Use both together for a complete strategy: scale your Proven Winners for reliable returns while testing AI Combos to find the next breakout combination.
# Understanding Your Result Metric
Source: https://docs.adstellar.ai/guides/insights/result-metrics
How the result metric in AdStellar works and why it matters
## What Is a Result Metric?
Your Result Metric is the primary key performance indicator (KPI) that AdStellar uses to measure success across your campaign. It controls how performance data is displayed in Ads Manager, which ads are flagged as top performers or underperformers, and how cost efficiency is calculated.
Think of it as telling AdStellar: *"This is the outcome I care about most for this campaign."*
Common result metrics include:
* **Purchases** -- for e-commerce and direct-response campaigns
* **Leads** -- for lead generation campaigns
* **Add to Carts** -- for top-of-funnel or consideration campaigns
* **Initiate Checkouts** -- for mid-funnel optimization
* **Link Clicks** -- for traffic-focused campaigns
***
## Why Your Result Metric Matters
The metric you choose shapes everything you see in Ads Manager. Here's what it directly affects:
* **Cost Per Result** -- Calculated using your chosen metric. If your result metric is set to "Purchases," you'll see cost per purchase. If it's set to "Leads," you'll see cost per lead.
* **Result Volume** -- The total count of results shown at the ad, ad set, and campaign level all reflect this metric.
* **Performance Comparisons** -- When AdStellar surfaces your best and worst performing ads, it ranks them using this metric.
Choosing the wrong result metric gives you a misleading picture of performance. For example, if you're running a purchase campaign but your result metric is set to "Link Clicks," Ads Manager will optimize its view around clicks rather than the revenue-driving actions you actually care about.
Always set your result metric to match the real goal of your campaign.
***
## How to Set Your Result Metric
Setting your result metric takes just a few seconds:
Navigate to the **Performance** page for your campaign.
Select the campaign(s) you want to update the result metric for.
Choose your desired metric from the dropdown and click **Update**.
It may take a few seconds or minutes for the results to update. You will see a loading modal in the top right corner.
***
## Can I Change It Later?
Yes -- you can update your result metric at any time from Ads Manager. A few important things to know:
**It's non-destructive.** Changing your result metric has no impact on your actual campaign, ads, or delivery on Meta. It only affects how AdStellar displays and calculates your performance data.
**Historical data recalculates automatically.** When you switch metrics, all stats in Ads Manager -- cost per result, result totals, and performance rankings -- update instantly to reflect the new selection.
**It's campaign-specific.** Each campaign has its own result metric setting. Changing it on one campaign won't affect any others.
This makes it easy to explore your data from multiple angles. You might use "Purchases" as your primary result metric, then temporarily switch to "Add to Carts" to evaluate upper-funnel performance -- and switch right back whenever you're ready.
***
## Using a Cometly Metric as Your Result Metric
If you use a first-party attribution tool like **Cometly**, you can set a Cometly-tracked metric as your result metric in AdStellar -- and this is often the most accurate way to measure performance.
Meta's default attribution can overcount or misattribute conversions due to its reliance on modeled data and broad click/view windows. First-party attribution tools like Cometly track conversions using your own server-side data, giving you a cleaner, more accurate picture of which ads are genuinely driving results.
### How It Works
When your Cometly integration is connected, AdStellar pulls in your Cometly attribution data alongside Meta's native metrics. On Ads Manager, you'll see Cometly-specific options available in the Result Metric dropdown, including:
* **Cometly Purchases**
* **Cometly Revenue**
* **Cometly ROAS**
Select any of these as your result metric, and all of Ads Manager -- cost per result, rankings, and comparisons -- will be driven by Cometly's first-party attribution data instead of Meta's reported numbers.
### Why This Matters
**More accurate cost per acquisition.** You'll see what you're actually paying per verified conversion, rather than Meta's often-inflated figures.
**Better decision-making.** When you scale or cut ads based on Cometly data, those decisions are grounded in first-party truth rather than platform-reported estimates.
**Consistency across your stack.** If your team already uses Cometly as the source of truth for attribution, setting it as your result metric in AdStellar keeps everything aligned in one place.
To use Cometly metrics, you'll need an active Cometly integration connected to your AdStellar account. If you haven't set this up yet, go to **Integrations** to get started.
***
Still have questions? Reach out to our support team and we'll help you pick the right result metric for your campaigns.
# Top Ads: Finding and Relaunching Your Best Performers
Source: https://docs.adstellar.ai/guides/insights/top-ads
How to use the Top Ads feature inside of AdStellar AI.
The Top Ads feature helps you identify your highest-performing ad combinations and relaunch them with just a few clicks. This guide covers how to use Top Ads to find winners and how to leverage AI Suggestions for untested combinations.
## Accessing Top Ads
Click **Top Ads** in the left navigation menu. AdStellar pulls in all your ad data from your imported campaigns and organizes it by landing page, showing every website URL you've driven traffic to.
## Finding Your Top Performers
When you click on a landing page, AdStellar analyzes all the ads you've run to that specific URL and surfaces your top-performing combinations.
**What you'll see for each ad:**
* Complete targeting information (interests, lookalike audiences)
* Ad creative (image or video)
* Copy and headline
* Call-to-action button
* Performance metrics
### Sorting and Filtering
To find your best ads quickly:
Sort by the metric that matters most to you, such as cost per result, ROAS, or total results.
Filter out ads with insufficient data by requiring a minimum spend amount.
Narrow or expand the date range to focus on the time period you care about.
Browse only the combinations with meaningful performance data.
This filters out low-spend ads and shows you only the combinations that have meaningful performance data.
### Why This Matters
In media buying, you often want to relaunch ads that are working well or have worked well in the past. The Top Ads feature gives you a complete picture of what's driving results: the targeting AND the creative together.
You can:
* See exactly which interest targeting or lookalike audiences performed best
* View the full ad preview on the right side
* Understand clearly what's working versus what isn't
## Relaunching Top Ads
When you find an ad combination you want to run again:
Identify the top-performing ad you want to relaunch from the filtered list.
Click the **Add to Draft** button to save the combination to your campaign drafts.
Navigate to the launcher to review the pre-filled campaign settings.
Tweak targeting, budget, or creatives as needed before launching.
Publish the campaign to Meta when you're ready.
This makes relaunching proven winners incredibly fast. You can also make small adjustments before launching if needed.
## AI Suggestions: Untested Winning Combinations
Navigate back to the Top Ads section and click into **AI Suggestions**. This feature identifies winning elements from across your campaigns and combines them into new ad variations you haven't tested yet.
### How It Works
AdStellar scores every element of your ads:
* Creatives (e.g., 4.6 out of 10)
* Headlines (e.g., 5.9 out of 10)
* Audiences
* Copy
* Call-to-action buttons
Then it looks across all your imported campaigns and finds high-performing elements that haven't been used together. For example:
* A headline from Campaign A
* A creative from Campaign B
* An audience from Campaign C
AdStellar combines these into a recommended new ad combination.
### Launching AI Suggestions
Each suggestion shows you:
* The audience being used
* The call-to-action
* Primary text
* Headline
* Creative
* Individual element scores
To test a suggestion:
Examine the elements and their individual scores to gauge potential.
Click **Add to Draft** to save the suggested combination.
Open the launcher, make any final adjustments, and publish.
### Continuous Optimization
AI Suggestions updates continuously. As you launch new ads and they flow into AdStellar, the system analyzes the fresh data and builds new untested combinations for you to try.
This eliminates the manual work of:
* Digging through Ads Manager data
* Figuring out which audiences performed best
* Manually duplicating and combining elements
* Spending hours building new test variations
***
Spend time exploring the Top Ads feature and regularly check AI Suggestions for new combinations. These untested variations, built from your proven winning elements, could end up being your best-performing campaigns yet.
# Winning Ads Hub
Source: https://docs.adstellar.ai/guides/insights/winning-ads
A unified view of your top-performing ads across all landing pages.
## Overview
The Winning Ads page is a central hub that brings together [Proven Winners](/guides/insights/proven-winners) and [AI Combos](/guides/insights/ai-combos) into a single view. Every landing page with ad data is listed here, giving you a quick way to evaluate performance and take action across your entire account.
## Navigating the Hub
Navigate to **Winning Ads** from the sidebar and select your ad account.
All landing pages with ad data are listed. Each card displays:
* **Performance Score** — a 1–10 rating based on overall ad performance
* **Spend** — total spend across all ads for that page
* **Results** — total conversions or outcomes
* **Cost/Result** — average cost per conversion
* **ROAS** — return on ad spend
* **CTR** — click-through rate
Each landing page card has two action buttons:
* **Top Ads** — opens the proven winners for that landing page, showing the best-performing tested combinations
* **AI Combos** — opens AI-suggested combinations for that page. For underperforming pages, this button shows as **AI Suggestions** to emphasize discovery opportunities.
Both drill-down views use the same combo card format with **Add to Draft** functionality, so you can add any combination to a campaign draft directly from this hub.
## Filters and Search
| Filter | Description |
| ----------- | ---------------------------- |
| **Search** | Filter landing pages by URL |
| **Spend** | Filter by spend range |
| **Results** | Filter by conversion count |
| **ROAS** | Filter by return on ad spend |
| **CTR** | Filter by click-through rate |
Use metric filters to quickly find underperforming pages that could benefit from AI Combos, or high-performing pages where you should scale Proven Winners.
## Lead Form Indicator
Landing pages that use **Meta Lead Forms** are marked with a lead form indicator on their card. This helps you quickly distinguish between lead generation and website conversion campaigns when browsing the hub.
## When to Use Winning Ads vs. Individual Pages
The Winning Ads hub is designed for account-level decision-making — scan all your landing pages, compare performance scores, and decide where to act. For deep analysis of a specific landing page, navigate directly to [Proven Winners](/guides/insights/proven-winners) or [AI Combos](/guides/insights/ai-combos) from the sidebar.
# Ad Sets & Targeting
Source: https://docs.adstellar.ai/guides/launch/ad-sets
Configure audience targeting, budgets, conversions, and scheduling for your ad sets.
Ad Sets is the second step of the launch wizard. Each ad set defines **who sees your ads** and **how they're delivered**.
## Audience Templates
Instead of building targeting from scratch every time, AdStellar uses **audience templates** — saved targeting configurations that you can reuse across launches.
Click **Add Audiences** to open the template drawer. Select one or more templates, and each template creates one or more ad sets in your campaign.
Build your audience templates in advance from the **Templates** section. This keeps your launch flow fast and your targeting consistent.
## Ad Set Naming
Each ad set gets a name based on a **naming pattern** with dynamic tokens. For example:
`{audience_template_name} | {locations} | {age}` becomes `US Lookalike 1% | USA | 25-34`
[See all available tokens →](/guides/launch/naming-tokens)
## Budget (ABO Only)
When Advantage Campaign Budget (CBO) is **off**, you set the budget for each ad set individually. This gives you direct control over how much each audience segment spends.
When CBO is on, this section is hidden — Meta handles distribution automatically.
## Conversion Settings
### Conversion Location
Where do you want conversions to happen?
* **Website** — Track conversions on your site via Meta Pixel.
* **Instant Forms** — Collect leads directly in Facebook/Instagram without leaving the app.
### Pixel & Conversion Event
Select your **Meta Pixel** and the specific **conversion event** you want to optimize for (e.g., Purchase, Lead, Add to Cart).
Your pixel must be installed and firing events on your website for conversion tracking to work. Verify in [Meta Events Manager](https://business.facebook.com/events_manager).
### Optimization Goal
The optimization goal tells Meta what to prioritize. Available options depend on your campaign objective:
* **Leads** objective → Maximize leads, lead form submissions
* **Sales** objective → Maximize conversions, value
* **Traffic** objective → Maximize link clicks, landing page views
## Advantage Audience
Toggle **Advantage Audience** to let Meta's AI expand your targeting beyond the audience you defined. Meta uses your template as a starting signal but will reach additional people it predicts will convert.
Advantage Audience can improve performance, but it loosens your targeting control. Test it against strict targeting to see what works best for your account.
## Schedule
Set when your ad sets run:
* **Continuous** — Starts immediately and runs until you pause or stop it.
* **Date Range** — Set specific start and end dates with optional time-of-day controls.
## Placements
Choose where your ads appear across Meta's network. Options include Facebook Feed, Instagram Feed, Stories, Reels, Audience Network, and more.
Use **Advantage+ Placements** to let Meta auto-optimize placement distribution, or manually select specific placements.
## Attribution Windows
The attribution window defines how long after an ad interaction Meta credits a conversion. Common options:
* **1-day click** — Conversions within 1 day of clicking the ad.
* **7-day click** — Conversions within 7 days of clicking.
* **1-day click, 1-day view** — Includes view-through conversions.
Shorter windows give more conservative reporting. Longer windows capture more conversions but may include actions less directly tied to your ad.
# Ads & Creatives
Source: https://docs.adstellar.ai/guides/launch/ads
Select creatives, configure tracking, and preview your ads before launch.
Ads is the third step of the launch wizard. This is where you select the creative content for your ads and configure how they're tracked.
## Creative Templates
Click **Add Creatives** to open the template drawer. Each creative template contains a combination of **media variants** (images or videos) and **copy variants** (primary text, headlines, descriptions).
When you select a template, AdStellar generates ad variations from the media and copy combinations within it. This is how you launch dozens or hundreds of ad variations from just a few templates.
Build creative templates in the **Templates** section before launching. Group related creatives together — for example, one template for "Product Demo Videos" and another for "Testimonial Images."
## Ad Naming
Each ad gets a name based on a **naming pattern** with dynamic tokens. For example:
`{creative_template_name} | {headline} | {media_filename}` becomes `Summer Sale | Shop the Look | hero-video`
[See all available tokens →](/guides/launch/naming-tokens)
## Facebook Page
Select the **Facebook Page** that your ads will be published from. This is required for all ads — it determines the Page name and profile picture shown on the ad.
Only Pages connected to your ad account are available.
## Instagram Account (Optional)
Optionally select an **Instagram account** to show on Instagram placements. If you don't select one, your Facebook Page name is used instead.
## Tracking
### Meta Pixel
Toggle pixel tracking on to attach your **Meta Pixel** to ads. This enables conversion tracking and builds retargeting audiences.
### URL Parameters
Add **URL parameters** to ad links for external tracking. Common use cases:
* UTM parameters for Google Analytics (`utm_source=meta&utm_medium=paid`)
* Platform-specific tracking parameters
* Custom query strings for your analytics stack
Parameters are appended to your destination URL automatically.
## Lead Forms
When your conversion location is set to **Instant Forms** (configured in the Ad Sets step), this section appears. Select the lead form(s) to attach to your ads.
Lead forms must be created in Meta first and will be pulled from your connected ad account.
## Ad Preview
As you configure your ads, a **live preview** shows how they'll appear across placements:
* Facebook Feed
* Instagram Feed
* Stories
* Reels
Use the preview to catch issues with image cropping, text truncation, or headline length before publishing.
The preview is an approximation. Always verify your ads in Meta Ads Manager after publishing to confirm they render correctly on all placements.
# AI Campaign Builder
Source: https://docs.adstellar.ai/guides/launch/ai-builder
Let AI analyze your performance data and build optimized campaigns automatically.
## Overview
The AI Campaign Builder is AdStellar's flagship AI feature. Instead of manually selecting audiences, creatives, and copy, the AI Builder analyzes your historical performance data and generates a complete, optimized campaign ready to launch.
AI Builder is included on **every plan**. Each AI campaign launch uses AI credits — see [Plans & Credits](/billing/plans-credits#ai-credit-costs).
## Building an AI Campaign
Navigate to **AI Builder** from the sidebar. Select the ad account you want to build a campaign for.
Fill in the core campaign parameters:
* **Destination URL** — the landing page your ads will drive traffic to
* **Objective** — choose Leads, Sales, or Traffic
* **Budget** — set your daily or lifetime budget
* **Pixel & Conversion Event** — select the pixel and event to optimize for
* **Facebook Page** — the Page your ads will run under
* **Instagram Account** — the Instagram account for Instagram placements
Select how aggressively AI should explore new audiences:
| Strategy | Behavior |
| ---------------- | -------------------------------------------------------------------- |
| **Conservative** | Uses only proven audiences with strong historical performance |
| **Balanced** | Mixes proven audiences with experimental ones for controlled testing |
| **Experimental** | Explores a wider range of audiences, prioritizing discovery |
Conservative and Balanced strategies unlock after you've completed at least 1 campaign with performance data. Start with Experimental if this is your first campaign for this landing page.
The same three levels apply to creative selection:
* **Conservative** — sticks to top-performing creatives
* **Balanced** — mixes proven creatives with untested ones
* **Experimental** — tests a broader range of creative assets
Use the text field to provide additional guidance to the AI, such as "focus on women aged 25-34" or "exclude lookalike audiences."
Save frequently used instructions as templates in the **Template Library** so you can apply them to future campaigns with one click.
Click **Generate Campaign** to start. AI will begin building your campaign immediately.
## How Generation Works
When you click Generate, AdStellar runs a sequence of specialized AI agents, each handling a different part of campaign construction:
1. **Page Analyzer** — scans your destination URL to understand the offer, audience, and value propositions
2. **Structure Agent** — determines the optimal campaign structure (number of ad sets, naming, etc.)
3. **Targeting Agent** — selects audiences based on your strategy and performance history
4. **Creative Agent** — picks creatives that match the offer and audience
5. **Copy Agent** — generates or selects headlines, primary text, and CTAs
6. **Budget Agent** — allocates budget across ad sets based on expected performance
7. **Director Agent** — reviews the full campaign and makes final adjustments
Progress is displayed live as each agent completes its work. You can see which agent is currently running and which have finished.
You can navigate away from the page while the campaign generates. The process continues in the background, and you'll see the result when you return to AI Builder.
## Reviewing the Result
Once generation is complete, you'll see the full AI-built campaign with:
* The complete campaign tree (campaign → ad sets → ads)
* **Rationale** for each selection — why specific audiences, creatives, and copy were chosen
* **Exclusions** — what was considered but intentionally left out, and why
From the review screen you have two options:
* **Launch Campaign** — moves the campaign into the standard [launch flow](/guides/launch/overview) where you can make final edits before publishing
* **Generate Different Campaign** — discards the current result and runs a fresh generation with the same settings
# AI Launch: Build Complete Campaigns in Minutes
Source: https://docs.adstellar.ai/guides/launch/ai-launch
How to use the AI Launch feature to build Meta campaigns in minutes.
The AI Launch feature automates the entire campaign building process. Instead of manually configuring ad sets, audiences, and creatives, you provide a few inputs and AI agents build everything for you. This guide walks you through using AI Launch to create campaigns about 100x faster than manual building.
## Accessing AI Launch
Click **[AI Launch](https://app.adstellar.ai/ai-builder)** in the left navigation menu to open the AI builder.
## Basic Configuration
Start by filling in your campaign basics:
Choose which ad account to launch the campaign under.
Provide the landing page URL where your ads will drive traffic.
Select your goal such as conversions, leads, or purchases.
Enter your total daily budget for the campaign.
Choose the Meta pixel for conversion tracking.
Pick the specific conversion event to optimize for (e.g., Purchase, Lead).
Choose the Facebook page your ads will run from.
## AI Strategy Settings
This is where you control how the AI builds your campaign.
### Audience Strategy
Choose how aggressive you want the AI to be with targeting:
* **Conservative:** Uses only your top-performing audiences. The AI looks at all winning aspects of your targeting (countries, interests, lookalikes, custom audiences, ages, genders) and selects only proven performers.
* **Balanced:** Mixes proven audiences with new targeting tests. Good for maintaining performance while exploring new opportunities.
* **Experimental:** Creates entirely new audiences for you to test.
### Copy and Creative Strategy
* **Conservative:** Uses only your top-performing copy (headlines, primary text) and creatives (images, videos).
* **Balanced:** Mixes proven copy and creatives with new variations.
* **Experimental:** Generates all new headlines and primary text based on your proven winners.
AI Launch itself does not generate new images or videos — its creative generation applies only to copy elements (headlines and primary text), using media you select. To generate new images, videos, or UGC avatar ads, use [Canvas](/guides/create/image-ads) or ask the AI Agent.
**Balanced** for both strategies gives you a good mix of proven performance and new testing.
### Historical Date Range
This controls how far back the AI looks at your performance data:
* **All Data:** Considers everything in your account (not recommended if you have old data)
* **90 Days:** Good default for most accounts
* **60 Days:** Use if you have lots of recent data
* **30 Days:** Use for very active accounts with high volume
What worked a year ago probably won't work today. Stick to 90 days or less for the most relevant insights.
### Custom AI Instructions (Optional)
Use natural language to give the AI specific directions.
**Examples:**
* "Use all proven audiences for me and copy and creatives"
* "Target these countries: US, UK, Canada"
* "Do a bunch of interest tests"
* "Use my proven lookalikes"
* "Focus on video creatives only"
You can save frequently used instructions as templates for quick access.
## Generating Your Campaign
Click **Generate** to start the AI build process. This typically takes 3 to 5 minutes depending on campaign size. Larger campaigns (e.g., 50 ad sets) take longer.
### What the AI Agents Do
Seven specialized AI agents work together to build your campaign:
* **Page Analyzer:** Reads your landing page to understand your offer, copy, images, and messaging. This ensures ad content aligns with what visitors will see.
* **Structure Agent:** Analyzes your previous campaigns to understand your typical launch structure. If you usually run 10 ad sets with 3 ads each, it builds something similar. Conservative stays within your typical structure; Experimental may go outside it.
* **Targeting Agent:** Focuses specifically on audience targeting. Reviews custom audiences, locations, ages, genders, interests, and placements to select the best options.
* **Creative Agent:** Analyzes your past creative performance and selects the images and videos that have worked best.
* **Copy Agent:** Reviews your headline and primary text performance to select or generate the best copy.
* **Budget Agent:** Takes your total daily budget and distributes it appropriately across ad sets.
* **Director Agent:** Orchestrates all the other agents, ensuring they work together correctly and pieces everything into the final campaign.
## Reviewing the Generated Campaign
Once complete, you'll see a summary screen showing:
* Number of ad sets created
* Total ads
* **Built with Proven Winners:** Shows how many proven audiences, copy variants, and creatives were used, along with their average CPA and historical spend
### Strategy Breakdown
The AI provides a detailed explanation of its decisions:
* Why it chose the campaign structure it did
* Targeting decisions and reasoning
* Ad copy decisions with performance data (e.g., "Top headline has \$35 cost per result after X spend")
* Creative selections and why they were chosen
This transparency helps you understand exactly what the AI built and why.
## Editing the Campaign
You can jump to final review or step through each level to verify and adjust.
### Campaign Level
Review and edit the campaign name and settings.
### Ad Set Level
Everything is pre-configured:
* Ad set naming
* Pixel and conversion tracking
* Budget per ad set (distributed by the Budget Agent)
* Audience targeting (custom audiences, lookalikes, locations, age ranges, interests)
Make any adjustments you want. For example, if the AI didn't include interest targeting and you want to test some, you can add it manually.
### Ad Level
Review the ads the AI created:
* Media (images/videos)
* Primary text variants
* Headlines
* Destination URLs
**Adding More Variants:**
If you want to include additional elements:
Click the **Add** button next to media, headlines, or primary text.
Browse your media library, saved templates, or previously used elements.
Choose the assets you want to add to your campaign.
The new variants are added alongside the AI-generated selections.
This lets you expand on what the AI built with your own selections.
## Final Review and Publishing
Click **Continue to Review** to see your complete campaign summary:
* Total ad sets
* Ads per ad set
* Total ad variations
* Budget breakdown
Click **Publish** to send the campaign to Meta.
Campaigns publish as inactive. Review everything in Ads Manager, then turn on when ready to go live.
***
AI Launch is ideal when you want to test quickly and launch fast. Start with AI-generated campaigns, review the strategy breakdown, make any tweaks you want, and publish. The entire process takes just a few minutes compared to hours of manual building.
# Audience Templates
Source: https://docs.adstellar.ai/guides/launch/audience-templates
Save targeting configurations as reusable templates for consistent, fast campaign setup.
Audience templates store your targeting configurations so you can reuse them across campaigns. Instead of rebuilding the same targeting every time, select a saved template and move on.
## Creating an Audience Template
Navigate to **Templates > Audiences** from the sidebar. Click **New Template**.
Configure the targeting parameters:
* **Locations** — target by country, region, state, or city
* **Age Range** — set minimum and maximum age
* **Gender** — All, Men, or Women
* **Languages** — restrict to users who speak specific languages
Layer in Meta's detailed targeting options:
* **Interests** — topics, pages, and activities users engage with
* **Behaviors** — purchase behaviors, device usage, travel patterns
* **Custom Audiences** — audiences you've built in Meta (website visitors, email lists, etc.)
* **Lookalike Audiences** — audiences similar to your existing customers
* **Advantage+** — let Meta's AI automatically choose the best placements
* **Manual Placements** — select specific placements (Feed, Stories, Reels, etc.)
Advantage+ placements typically deliver better results for most advertisers. Use manual placements only when you have a specific reason, like creative formats that only work in certain placements.
Name your template and click **Save**.
## Managing Templates
### Views
Toggle between **Grid** and **List** views. Grid view shows a summary card for each template; list view shows a compact table.
### Search
Find templates by name using the search bar.
### Bulk Operations
Select multiple templates to delete them in bulk.
## Using Templates in Campaigns
During the [Ad Sets step](/guides/launch/ad-sets) of the campaign launcher, click **Add Audience Template** to attach one or more templates. Each template creates a separate ad set with its targeting configuration.
You can add multiple audience templates to a single campaign. Each template becomes its own ad set, letting you test different audiences against the same creatives.
# Manual Bulk Ad Launcher
Source: https://docs.adstellar.ai/guides/launch/bulk-launcher
How to launch Meta ad tests in bulk manually using AdStellar
The bulk ad launcher lets you build and launch dozens of ad variations to Meta in minutes. This guide walks you through creating campaigns with multiple audience and creative variants, eliminating the tedious duplication work you'd normally do in Ads Manager.
## Getting Started
Navigate to **Campaigns** in the left menu. This is where you'll see:
* **Drafts** for campaigns in progress
* **AI Launch** for AI-generated campaigns (covered in the next guide)
* **Templates** for saved configurations
* **Launches** for campaigns published to Meta
Click **Start a New Campaign** to open the campaign builder.
## Campaign Level Settings
### Basic Configuration
Choose the ad account you want to publish to from the dropdown at the top.
Pick your objective: Sales, Leads, or Traffic.
Enter a campaign name or use naming tokens for automatic naming.
Choose between Campaign Budget Optimization (CBO) or ad set-level budgets and set the amount.
## Ad Set Level: Building Audience Variants
This is where AdStellar's bulk capabilities really shine.
### Basic Ad Set Setup
Enter a name or use naming tokens for automatic naming.
Set the daily or lifetime budget and your start/end dates.
Add the geographic locations you want to target.
Set age, gender, and detailed targeting options like interests and behaviors.
## Creating Audiences with the Winners Hub
When building audiences, click into the **Winners Hub** to see performance data from your imported campaigns. This shows you exactly what has worked before:
**Locations:** See spend, clicks, results, and cost per result for each location you've used.
**Interests:** View which interest targeting has performed best (e.g., "Marketing Strategy" at $25 cost per result vs. "Mailchimp" at $35 cost per result).
**Custom Audiences:** Compare performance of your 1% lookalike vs. 5% lookalike audiences.
Select any element and click **Apply to Template** to add it to your current audience.
## The Power of Variants
Instead of duplicating ad sets manually in Meta, AdStellar lets you create variants that automatically multiply into separate ad sets.
### Example: Testing Three Interests
If you want to test three different interests in their own ad sets:
Set up your base audience with Interest A.
Click **Add Variant** and add Interest B to the new variant.
Click **Add Variant** again and add Interest C.
You now have 3 ad sets, one for each interest.
### Combining Multiple Variant Types
Variants multiply together:
* 2 custom audience variants x 3 detail targeting variants = 6 ad sets
* Add 2 age range variants and you get: 2 x 3 x 2 = 12 ad sets
This lets you launch comprehensive split tests without any manual duplication.
## Saving Audiences
Give your audience a name and click **Save**. You can reuse saved audiences in future campaigns or select multiple audiences to expand your tests further.
## Ad Level: Building Creative Variants
Click **Continue** to move to the ad level.
### Basic Ad Setup
Choose single image/video or carousel.
Select your Facebook Page (required) and optionally link an Instagram account.
Add your media, headline, primary text, description, and call to action.
### Creating Ads with the Winners Hub
You can start from a template (pulled from your imported campaigns) or create a new ad from scratch.
Click **Edit** on any template to customize it. The Winners Hub is available here too, showing performance data for:
* **Media assets** (images and videos)
* **Headlines**
* **Primary text**
Click any element to add it to your current ad.
### Creative Variants
The variant system works the same way at the ad level:
**Example: Building 8 Ad Variations**
* 2 media assets (images or videos)
* 2 primary text variants
* 2 headline variants
* Result: 2 x 2 x 2 = 8 unique ad combinations
The breakdown in the top right shows you exactly how many ads will be created.
### UTM Parameters
Add UTM parameters for tracking. You can save parameter templates for reuse (useful if you're using tools like Cometly or other attribution platforms).
## Review and Publish
Click **Continue to Review** to see a summary of your campaign.
### Review Page Overview
The review page shows:
* Total ad sets to be published
* Total ads per ad set
* Total ad variations (ad sets x ads)
* Any errors that need to be fixed before publishing
**Example:** 12 ad sets x 4 ads each = 48 total ad variations
### Campaign Map
Click **Campaign Map** to visualize your entire campaign structure:
* See all ad sets at a glance
* Click into any ad set to see its targeting
* Click into any ad to preview the creative variation
This is especially helpful for large launches where you want to verify everything looks correct.
### Creative Testing Mode
Toggle on **Creative Testing Mode** to put each unique ad into its own separate ad set.
* **Without Creative Testing Mode:** 12 ad sets with 4 ads each (48 total ads)
* **With Creative Testing Mode:** 48 ad sets with 1 ad each
Why use this? When multiple ads share an ad set, Meta decides how to distribute budget. With one ad per ad set, every ad gets equal budget distribution for true split testing.
Creative Testing Mode increases your total budget significantly. For example, $10/day x 48 ad sets = $480/day vs. $10/day x 12 ad sets = $120/day.
## Publishing to Meta
Click **Publish** to send the campaign to your Meta ad account.
Campaigns publish as **inactive**. This lets you review everything in Ads Manager before turning them on.
### Setting Goals
After publishing, you'll be prompted to configure results and goals:
Choose the campaign you just published.
Pick the metric that matches your campaign goal (e.g., Purchases, Leads, Add to Carts).
Define a target cost per result if desired.
### Monitoring Your Launch
The launch progress screen shows:
* Percentage complete
* Ad sets created
* Ads created
Most launches complete within a few minutes.
## After Publishing
Once complete:
* Click **View in Meta** to open your campaign in Ads Manager
* Review the campaign structure
* Turn on ad sets when ready to go live
All your launches appear in the Launches section for easy reference. You can clear old launches if the list gets too long.
## Troubleshooting
If you see partial launches, errors, or retry prompts, this is usually due to Meta's API rate limiting or updates. Use the support chat in the bottom right corner for help with any issues.
# Campaign Settings
Source: https://docs.adstellar.ai/guides/launch/campaign-settings
Configure your campaign's ad account, objective, budget, and naming.
Campaign Settings is the first step of the launch wizard. Here you define the top-level properties that apply to your entire campaign.
## Ad Account
Select which Meta ad account this campaign will be published to. Only accounts you've connected through [Meta integration](/getting-started/connect-meta) are available.
## Launch Type
Choose how to structure the campaign:
* **New Campaign** — Creates a brand-new campaign in your ad account.
* **Add to Existing Campaign** — Appends new ad sets and ads to an existing campaign. Useful for scaling what's already running.
## Campaign Name
Give your campaign a name. AdStellar supports **naming tokens** — dynamic placeholders that get replaced with real values at publish time.
Example: `{budget_type} | {campaign_objective} | {launch_date}` becomes `CBO | SALES | 2025-03-15`.
[See all available tokens →](/guides/launch/naming-tokens)
## Campaign Objective
The objective tells Meta what result you're optimizing for. Choose one:
| Objective | Best For |
| ----------- | ------------------------------------------------------- |
| **Leads** | Collecting contact info through forms or landing pages |
| **Sales** | Driving purchases or other high-value conversion events |
| **Traffic** | Sending users to a website or app |
Your objective determines which optimization goals and conversion events are available in later steps.
## Special Ad Categories
If your ads relate to **Credit**, **Employment**, **Housing**, or **Political** content, you must declare the category here. This is a Meta policy requirement.
When a special category is selected, you'll also need to specify **target countries**. Meta restricts certain targeting options for these categories to comply with advertising regulations.
Failing to declare a required special ad category can result in ad rejections or account restrictions from Meta.
## Budget & Bidding
### Advantage Campaign Budget (CBO)
Toggle this on to set the budget at the **campaign level**. Meta distributes spend across your ad sets automatically based on performance.
When CBO is off, you set budgets individually on each ad set in the next step.
### Budget Amount & Type
* **Daily budget** — Meta spends up to this amount per day.
* **Lifetime budget** — Meta distributes the total amount across the campaign's schedule.
### Bid Strategy
Controls how Meta bids in the ad auction:
| Strategy | Description |
| ------------------------ | ------------------------------------------------------------------------- |
| **Highest Volume** | Meta maximizes results within your budget. No cost cap. |
| **Cost Per Result Goal** | Meta tries to keep your average cost near a target you set. |
| **Bid Cap** | Sets a hard maximum bid. Gives tight cost control but may limit delivery. |
Starting with **Highest Volume** is a good default for new campaigns. Switch to Cost Per Result Goal or Bid Cap once you have baseline performance data.
# Conversion Tracking & Pixel Setup
Source: https://docs.adstellar.ai/guides/launch/conversion-settings
Configure Meta Pixel, conversion events, and attribution for your campaigns.
Conversion tracking tells Meta which actions to optimize for. Proper setup is critical for campaign performance.
## Conversion Locations
The available conversion locations depend on your campaign objective:
| Objective | Available Locations |
| ----------- | ---------------------- |
| **Traffic** | Website |
| **Leads** | Website, Instant Forms |
| **Sales** | Website |
## Selecting Your Meta Pixel
On the **Ad Sets** step, select the Meta Pixel installed on your website. The pixel must be active and firing events for conversion tracking to work.
If you don't see your pixel in the dropdown, check that it's associated with the ad account you selected. Pixels are tied to specific ad accounts in Meta Business Manager.
## Choosing a Conversion Event
The events available depend on your campaign objective.
### Leads Objective
Lead, Complete Registration, Contact, Schedule, Submit Application, Start Trial, Find Location, Customize Product
### Sales Objective
Purchase, Add to Cart, Initiate Checkout, Add Payment Info, Content View, Search, Add to Wishlist, Complete Registration, Subscribe, Start Trial, Donate
Some events are exclusive to one objective. Events from other objectives appear disabled with a note showing which objective they require.
**Custom events** and **custom conversions** are also supported and work with any objective.
## Attribution Windows
Attribution windows determine how long after a click or view Meta credits a conversion to your ad.
| Type | Options |
| ----------------- | ----------------------------------------- |
| **Click-through** | 1 day or 7 days (default: **7 days**) |
| **View-through** | 1 day only (optional, enabled by default) |
Configure attribution during the **Ad Sets** step under attribution settings.
The 7-day click / 1-day view default works well for most campaigns. Shorten the click window to 1 day if you want stricter attribution.
## Optimization Goals
The optimization goal determines what Meta optimizes delivery for. Available goals vary by objective.
### Traffic
| Goal | Notes |
| ---------------------- | ------- |
| **Landing Page Views** | Default |
| Link Clicks | -- |
| Reach | -- |
| Conversations | -- |
### Leads
| Goal | Notes |
| ------------------- | ------------------------------ |
| **Lead Generation** | Default — requires a lead form |
| Offsite Conversions | Requires pixel |
| Link Clicks | -- |
| Quality Calls | -- |
### Sales
| Goal | Notes |
| ----------------------- | ----------------------------------- |
| **Offsite Conversions** | Default — requires pixel |
| Value | Requires pixel with purchase events |
| Link Clicks | -- |
| Reach | -- |
"Offsite Conversions" means Meta will show your ads to people most likely to convert on your website. This is the recommended optimization for performance-focused campaigns.
# Creative Templates
Source: https://docs.adstellar.ai/guides/launch/creative-templates
Build reusable creative sets with media, copy variants, and CTAs for faster campaign launches.
Creative templates let you package your media assets and ad copy into reusable sets. When you build a campaign, you select creative templates instead of assembling ads from scratch every time.
## Creating a Creative Template
Navigate to **Templates > Creatives** from the sidebar. Click **New Template**.
Upload or select existing assets from your [Media Library](/guides/create/media-library):
* **Images** — single image ads
* **Videos** — video ads
* **Carousel** — multiple images or videos in a swipeable format
Add one or more variants for each text field:
* **Primary Text** — the main ad copy above the media
* **Headline** — the bold text below the media
* **Description** — the smaller text below the headline
Multiple variants let AdStellar generate more ad combinations during launch.
* Select a **Call to Action** button (e.g., Learn More, Shop Now, Sign Up)
* Enter one or more **Landing Page URLs**
Give your template a name and click **Save**. It's now available in the campaign launcher.
The more variants you add per field, the more ad combinations AdStellar can generate. A template with 3 primary texts, 2 headlines, and 2 images produces 12 unique ads.
## Managing Templates
### Views
Switch between **Grid** and **List** views using the toggle in the top-right corner. Grid view shows creative previews; list view shows metadata in a compact table.
### Search
Use the search bar to find templates by name.
### Bulk Operations
Select multiple templates using the checkboxes, then use the bulk action bar to delete them.
### Ad Account Scoping
Creative templates are scoped to the ad account they were created for. When you switch ad accounts, the template list updates to show only templates associated with that account.
## Using Templates in Campaigns
During the [Ads step](/guides/launch/ads) of the campaign launcher, click **Add Creative Template** to attach one or more templates. Each template's variants are combined to generate the full set of ads.
# Creative Testing Mode
Source: https://docs.adstellar.ai/guides/launch/creative-testing-mode
Isolate creative performance by giving each creative its own ad set.
Creative Testing Mode changes how AdStellar structures your campaign to enable true A/B testing of individual creatives.
## What It Does
Normally, all your creative variants are placed as ads within each ad set. In Creative Testing Mode, each creative gets its own **dedicated ad set with a single ad**. This isolates creative performance so Meta's algorithm can't favor one creative over another within the same ad set.
## The Math
**Normal mode:**
```
Audience Templates × 1 = Ad Sets (each containing all creative variants as ads)
```
Example: 3 audiences × 4 creatives = **3 ad sets** with 4 ads each (12 total ads).
**Creative Testing Mode:**
```
Audience Templates × Creative Templates = Ad Sets (each with 1 ad)
```
Example: 3 audiences × 4 creatives = **12 ad sets** with 1 ad each (12 total ads).
Same total ads, but structured differently for cleaner testing.
## How to Enable
On the [Review & Publish](/guides/launch/review-publish) step, toggle on **Creative Testing Mode**. The toggle requires at least 2 creative variants — it's disabled if you only have 1 creative.
Creative Testing Mode is not available when launching into existing ad sets.
## When to Use It
**Use Creative Testing Mode when:**
* You want to compare creative performance with equal budget distribution
* You're running split tests and need clean data per creative
* You want to identify your best-performing creative before scaling
**Use normal mode when:**
* You want Meta to optimize delivery across creatives automatically
* You have many creatives and want to let Meta find the winners
* Budget is limited and you don't want to split it across many ad sets
## Naming Tokens
Creative Testing Mode unlocks additional naming tokens at the **ad set level**, since each ad set now represents a specific creative:
| Token | Resolves To |
| -------------------------- | --------------------------------- |
| `{headline}` | The headline text of the creative |
| `{primary_text_preview}` | Preview of the primary text |
| `{cta}` | The call-to-action button text |
| `{creative_type}` | Image, video, or carousel |
| `{landing_page}` | The destination URL |
| `{creative_template_name}` | Name of the creative template |
| `{media_filename}` | Filename of the media asset |
These tokens are only available at the ad set level when Creative Testing Mode is enabled. See [Naming Patterns & Tokens](/guides/launch/naming-tokens) for the full list of available tokens.
## Budget Considerations
With Creative Testing Mode, your budget is split across more ad sets. If using **CBO** (Campaign Budget Optimization), Meta distributes the campaign budget across ad sets automatically. If using **ABO** (Ad Set Budget Optimization), each ad set gets its own budget.
Make sure your total budget is sufficient — Meta recommends at least **\$5–10/day per ad set** for the learning phase.
# Launching Ads Into an Existing Campaign
Source: https://docs.adstellar.ai/guides/launch/existing-campaign
How to launch new ads into existing campaigns and ad sets using AdStellar
If you already have a campaign running in Meta Ads Manager, you don't need to rebuild your campaign structure from scratch to add new creatives. AdStellar lets you drop fresh ads directly into existing ad sets -- keeping all your targeting, budgets, and optimization settings exactly as they are.
## When to Use This
This workflow is ideal when you want to test new creative variations inside ad sets that are already configured, or when you want to scale quickly without duplicating your campaign structure.
***
## Step-by-Step Walkthrough
From your AdStellar dashboard, click **New Campaign**. This opens a fresh launch draft and brings you to the **Campaign** step.
At the top of the Campaign step, choose the **ad account** that contains your target campaign. You'll need to do this before you can browse existing campaigns.
Under **Campaign type**, you'll see two options -- **New Campaign** (the default) and **Existing Campaign**. Click **Existing Campaign**.
A searchable dropdown will appear showing up to 100 campaigns created in the last 30 days. Each entry displays the campaign name and its current status (e.g., ACTIVE, PAUSED). Search and select the campaign you want to add to.
Once selected, a few things happen automatically:
* The campaign name locks in, pulled directly from Meta.
* The objective auto-populates if it's a supported type (Leads, Sales, or Traffic).
* If the campaign uses Campaign Budget Optimization (CBO), the budget type and amount are inherited and displayed.
You'll also see a blue info banner noting that campaign settings are inherited, and that on the next step you can choose to create new ad sets or add to existing ones.
Click **Continue to Ad Sets**.
On the Ad Sets step, you'll see a toggle with two options: **Create New Ad Sets** or **Use Existing Ad Sets**. Click **Use Existing Ad Sets**.
AdStellar fetches all eligible ad sets from your chosen campaign and displays them in a searchable, scrollable list. Only ad sets with a status of **Active**, **Paused**, or **In Process** are shown -- deleted or archived ad sets are filtered out automatically.
Each ad set in the list shows its name, status, and daily budget (if one is set).
Click any ad set to select it (a purple checkbox appears and the row highlights), and click again to deselect. You can select as many ad sets as you need -- there's no limit. A counter below the list tracks how many you've chosen.
When you're ready, click **Continue to Ads**.
The Ads step works exactly the same way regardless of whether you're using existing or new ad sets. Here you'll build the creatives that get published into each of your selected ad sets:
* Choose a **creative template** (image, video, or carousel)
* Add your **media assets**
* Write **headlines**, **primary text**, and **descriptions**, and choose a **call to action**
* Select your **Facebook Page** (required) and optionally an **Instagram account**
* Set up **URL parameters** for UTM tracking if needed
* Configure your **ad naming pattern** using tokens
AdStellar creates one ad for every combination of your creative variations across every selected ad set. So if you have 2 images and 3 headlines (6 creative variations) and you've selected 4 ad sets, you'll end up with **24 ads total**. Factor this in when working with a lot of variations or ad sets.
Click **Continue to Review** when you're done.
The Review step gives you a full summary before anything goes live. You'll see a header confirming how many ads are being published and into which campaign, a breakdown of each selected ad set and how many creative variations are being added to it, and a list of validation checks confirming that all required elements are in place -- ad account, existing campaign, at least one ad set, configured creative templates, and an assigned Facebook Page.
If anything is missing, you'll see error messages with direct links to fix each issue.
The publish button will read **"Publish X Ads to Y Existing Ad Sets"**. When you click it, AdStellar skips campaign and ad set creation entirely, uploads your creative assets to Meta, and creates each ad inside its corresponding ad set.
***
## What Happens After You Publish
All new ads are created in a **paused state**, giving you a chance to review everything in Meta Ads Manager before turning them on. You'll be redirected to the Launches page where you can track the progress of your publish job in real time.
If any individual ad fails -- due to a policy issue or rate limit, for example -- AdStellar automatically retries up to 3 times. Any ads that still fail are clearly marked with details on what went wrong.
***
## Good to Know
**Campaign recency** -- The dropdown only shows campaigns created in the last 30 days. If you don't see your campaign, it may fall outside that window.
**Ad set eligibility** -- Only ad sets with a status of Active, Paused, or In Process appear. Deleted and archived ad sets are excluded.
**Inherited settings** -- When using existing ad sets, all targeting, budgets, scheduling, and optimization settings carry over from Meta automatically. There's nothing to reconfigure in AdStellar.
**Creative combinations** -- Total ads = (creative variations) x (selected ad sets). Keep this in mind if you're working with many variables.
**Meta's 50-ad limit** -- Meta caps ad sets at 50 ads each. AdStellar checks this before publishing and warns you if you'd exceed the limit.
**Ads launch paused** -- New ads always start paused so you can review them before going live.
***
## Troubleshooting
**I don't see my campaign in the dropdown.** Double-check that you've selected the correct ad account. The campaign also needs to have been created within the last 30 days to appear.
**No ad sets are showing after I select a campaign.** This usually means all ad sets in that campaign are deleted or archived. Only Active, Paused, and In Process ad sets are displayed.
**Some ads failed to publish.** AdStellar retries transient errors (like rate limits) up to 3 times automatically. If an ad still fails, check the error details on the Launches page -- it's typically a policy violation or an issue with the creative asset itself.
***
## Quick Summary
1. Start a new launch from the Campaigns page
2. Select your ad account and choose "Existing Campaign"
3. Select your campaign from the dropdown
4. Choose "Use Existing Ad Sets" and select the ad sets
5. Configure your ad creatives
6. Review and publish
# Setting Performance Goals
Source: https://docs.adstellar.ai/guides/launch/goals
Configure result metrics and performance targets for your launched campaigns.
After publishing, you're taken to the Goals page. This is where you define what success looks like for your campaign.
## Campaign Launched
A **"Campaign Successfully Launched"** banner confirms your campaign was submitted to Meta. From here, set your performance goals before heading to the dashboard.
## Result Metric Source
Choose where your conversion data comes from:
* **Meta Pixel** — Uses Meta's built-in pixel tracking for conversion data.
* **Cometly** — Uses Cometly's attribution data instead. Only available if you've [connected Cometly](/integrations/cometly) to your account.
Your choice of data source affects how conversions are counted and attributed. Meta Pixel uses Meta's attribution model, while Cometly provides independent attribution.
## Conversion Event
Select the **conversion event** you want to measure results against. This should match the event you configured in your ad set conversion settings (e.g., Purchase, Lead, Add to Cart).
## Performance Goal
Set a goal metric and a target value. AdStellar supports three goal types:
| Metric | What It Measures | Example Target |
| ----------------------------- | ---------------------------------- | -------------- |
| **CPA** (Cost per Conversion) | How much you pay per conversion | \$25.00 |
| **ROAS** (Return on Ad Spend) | Revenue generated per dollar spent | 3.0x |
| **CPC** (Cost per Click) | How much you pay per link click | \$1.50 |
Enter your target value based on your business economics. This is the benchmark AdStellar uses to evaluate whether your campaign is performing well.
## Save & Monitor
Click **Save & Monitor** to save your goals and redirect to the **Campaigns page → Launches tab**, where you can track your campaign's live performance against your targets.
Goals feed directly into **AI Insights**. Once your campaign has enough data, AI uses your goal targets to rank ad performance, surface winners, and flag underperformers.
## Updating Goals Later
You can update goals at any time from the campaign's detail page. If your targets change as you learn what's realistic for your account, adjust them — AI Insights will recalibrate automatically.
# Managing Campaigns & Launches
Source: https://docs.adstellar.ai/guides/launch/managing-campaigns
View drafts, AI-generated campaigns, saved templates, and launch history from the Campaigns page.
The **Campaigns** page is your central hub for managing everything you've built in AdStellar — from in-progress drafts to completed launches.
## Tabs
The page is organized into four tabs:
### Drafts
In-progress campaigns you're building manually. Each draft preserves your campaign settings, targeting, and creative selections so you can pick up where you left off.
### AI Drafts
Campaigns generated by the [AI Campaign Builder](/guides/launch/ai-builder). These appear here after generation is complete and before you launch them. You can review, edit, or discard AI drafts just like manual ones.
### Templates
Campaigns you've saved as reusable templates. Templates capture the full campaign configuration — settings, audiences, creatives — so you can launch similar campaigns with one click.
After a successful launch, save it as a template to reuse the same structure for future campaigns.
### Launches
A chronological history of every campaign you've published. Each launch record shows:
* **Launch status** — Running, Succeeded, Failed, or Partial
* **Campaign, ad set, and ad counts** — how many entities were created
* **Targeting and creative details** — the audiences and creatives used
* **Errors** — any issues that occurred during publishing (for failed or partial launches)
## Launch Statuses
| Status | Meaning |
| ------------- | --------------------------------------------------- |
| **Running** | The campaign is currently being published to Meta |
| **Succeeded** | All entities were created successfully |
| **Failed** | The entire launch failed — no entities were created |
| **Partial** | Some entities were created but others failed |
A **Partial** launch means some ads are live on Meta while others failed. Check the error details to understand what went wrong and whether you need to take action.
## Actions
* **New Campaign** — starts a new manual campaign from the Drafts tab
* **Search** — find campaigns by name across all tabs
* **Inline Rename** — click a campaign name to rename it directly
* **View in Meta** — open the campaign in Meta Ads Manager (available for launched campaigns)
* **Save as Template** — save a successful launch configuration for reuse
* **Filter** — narrow results by status, date, or ad account
# Naming Patterns & Tokens
Source: https://docs.adstellar.ai/guides/launch/naming-tokens
Use dynamic tokens to automatically name campaigns, ad sets, and ads with consistent, readable naming conventions.
Naming patterns (also called **naming conventions**) let you define a template for how campaigns, ad sets, and ads are named when published to Meta. Instead of typing names manually, use **tokens** — placeholders wrapped in curly braces that get replaced with real values at publish time. This keeps your naming conventions consistent across every launch.
## How It Works
Write a pattern using any combination of plain text and tokens:
```
{budget_type} | {campaign_objective} | {launch_date}
```
At publish time, this becomes:
```
CBO | SALES | 2025-03-15
```
Tokens resolve to actual values from your draft — targeting, creatives, campaign settings, and more. Any token that has no value is removed automatically, and leftover separators are cleaned up so you never get names like `CBO | | 2025-03-15`.
## Where to Set Naming Patterns
You configure naming patterns at three levels in the launch wizard:
| Level | Wizard Step | What It Names |
| ------------ | ------------------- | ------------------------------- |
| **Campaign** | Campaign Settings | The campaign published to Meta |
| **Ad Set** | Ad Sets & Targeting | Each ad set within the campaign |
| **Ad** | Ads & Creatives | Each individual ad |
## Preset Templates
AdStellar includes two built-in presets so you can get started without building a pattern from scratch:
Quick identification with essential info.
* **Campaign:** `{campaign_objective} | {launch_date}`
* **Ad Set:** `{audience_template_name} | {locations} | {custom_audiences}`
* **Ad:** `{creative_template_name} | {headline} | {primary_text_preview} | {media_filename}`
Comprehensive naming with full details.
* **Campaign:** `{budget_type} | {campaign_objective} | {conversion_event} | {launch_date}`
* **Ad Set:** `{audience_template_name} | {locations} | {age} | {gender} | {custom_audiences}`
* **Ad:** `{creative_template_name} | {headline} | {primary_text_preview} | {media_filename} | {cta} | {creative_type}`
Select a preset from the template dropdown on any naming field, or choose **Custom** to build your own.
## Available Tokens
### Campaign Tokens
| Token | Example Value | Description |
| ---------------------- | ------------- | --------------------------------------------------------------- |
| `{campaign_objective}` | `SALES` | Campaign objective — TRAFFIC, LEADS, or SALES |
| `{conversion_event}` | `Purchase` | Optimization event — Purchase, Lead, AddToCart, etc. |
| `{launch_date}` | `2025-03-15` | Date the campaign is published (YYYY-MM-DD) |
| `{budget_type}` | `CBO` | Budget structure — CBO (campaign budget) or ABO (ad set budget) |
### Ad Set Tokens
| Token | Example Value | Description | |
| -------------------------- | ------------------- | --------------------------------------------------- | ------------------------------------------------- |
| `{audience_template_name}` | `Cometly Audiences` | Name of the saved audience template | |
| `{locations}` | `USA,UK,CA` | Target locations (first 3) | |
| `{age}` | `25-34` | Age range targeting | |
| `{gender}` | `All` | Gender targeting — Male, Female, or All | |
| `{interests}` | `Technology,Gaming` | Interest targeting (first 3) | |
| `{custom_audiences}` | `Website Visitors` | Custom audience names (first 2) | |
| `{lookalike_audiences}` | `1% Lookalike` | Lookalike audience names | |
| `{placement}` | `Advantage+` | Placement type — Advantage+ or specific placements | |
| `{optimization_goal}` | `LINK_CLICKS` | Ad set optimization goal | |
| `{campaign_name}` | \`SALES | 2025-03-15\` | The generated campaign name (from campaign level) |
| `{variant_index}` | `1` | Variant number (1, 2, 3…) for unique identification | |
### Ad Tokens
| Token | Example Value | Description | | |
| -------------------------- | ------------------- | --------------------------------------------------- | --------------------------- | ------------------------- |
| `{headline}` | `Shop Our Sale` | Ad headline (truncated to 20 characters) | | |
| `{primary_text_preview}` | `Get 50% off today` | First 5 words of primary text | | |
| `{cta}` | `SHOP_NOW` | CTA button — SHOP\_NOW, LEARN\_MORE, SIGN\_UP, etc. | | |
| `{creative_type}` | `IMAGE` | Creative format — IMAGE or VIDEO | | |
| `{landing_page}` | `example.com` | Destination URL domain | | |
| `{campaign_name}` | \`SALES | 2025-03-15\` | The generated campaign name | |
| `{adset_name}` | \`USA,UK | 25-34 | All\` | The generated ad set name |
| `{creative_template_name}` | `Summer Sale` | Name of the saved creative template | | |
| `{media_filename}` | `summer-sale` | Media asset filename (without extension) | | |
### Creative Testing Mode Tokens (Ad Set Level)
When [Creative Testing Mode](/guides/launch/creative-testing-mode) is enabled, each ad set corresponds to a single creative. This unlocks creative-related tokens at the ad set level so you can identify which creative each ad set contains:
| Token | Example Value | Description |
| -------------------------- | ------------------- | ---------------------------------------- |
| `{headline}` | `Shop Now` | Ad headline (truncated to 20 characters) |
| `{primary_text_preview}` | `Get 50% off today` | First 5 words of primary text |
| `{cta}` | `SHOP_NOW` | CTA button |
| `{creative_type}` | `IMAGE` | Creative format — IMAGE or VIDEO |
| `{landing_page}` | `example.com` | Destination URL domain |
| `{creative_template_name}` | `Summer Sale` | Name of the creative template |
| `{media_filename}` | `summer-sale` | Media asset filename |
In Creative Testing Mode, a pattern like `{audience_template_name} | {creative_template_name} | {media_filename}` makes it easy to see both the audience and creative for each ad set at a glance in Meta Ads Manager.
## Saving Custom Templates
Once you've built a naming pattern you like, save it as a reusable template:
Type your pattern using tokens and plain text, or start from a preset and modify it.
Click **Save as Template** and give it a name. The template saves the patterns for all three levels (campaign, ad set, and ad).
Select your saved template from the dropdown on any future launch. Templates are available to everyone on your team.
You can rename or delete saved templates from the same dropdown menu.
## Tips for Effective Naming
Consistent naming makes campaigns dramatically easier to find, filter, and analyze in Meta Ads Manager. Pick a convention and stick with it.
* **Start ad set names with `{audience_template_name}`** — makes it easy to filter by audience in Ads Manager.
* **Include `{creative_template_name}` or `{media_filename}` in ad names** — quickly see which creative is performing best.
* **Add `{launch_date}` to campaign names** — essential when running similar campaigns over time.
* **Use `{variant_index}` for deduplication** — if multiple ad sets use the same audience, the variant index keeps names unique.
* **Use separators consistently** — pick `|`, `-`, or `_` and stick with one style. Pipes (`|`) are popular because they're visually distinct.
* **Keep patterns concise** — Meta truncates names longer than 400 characters in some views. AdStellar enforces this limit automatically.
## Examples
### E-Commerce Brand
| Level | Pattern | Result |
| -------- | ------------------------------------------------------------- | ------------------------------------------------ |
| Campaign | `{campaign_objective} \| {conversion_event} \| {launch_date}` | `SALES \| Purchase \| 2025-03-15` |
| Ad Set | `{audience_template_name} \| {locations} \| {age}` | `High-Intent Shoppers \| USA \| 25-44` |
| Ad | `{creative_template_name} \| {headline} \| {cta}` | `Spring Collection \| Shop the Look \| SHOP_NOW` |
### Agency Managing Multiple Clients
| Level | Pattern | Result |
| -------- | --------------------------------------------------------------- | ------------------------------------------------ |
| Campaign | `{budget_type} \| {campaign_objective} \| {launch_date}` | `CBO \| LEADS \| 2025-03-15` |
| Ad Set | `{audience_template_name} \| {custom_audiences} \| {locations}` | `Retargeting Pool \| Website Visitors \| USA,UK` |
| Ad | `{media_filename} \| {creative_type} \| {cta}` | `hero-video-v2 \| VIDEO \| LEARN_MORE` |
### Creative Testing Setup
| Level | Pattern | Result |
| -------- | ------------------------------------------------------------------------- | ---------------------------------------------- |
| Campaign | `CTM \| {campaign_objective} \| {launch_date}` | `CTM \| SALES \| 2025-03-15` |
| Ad Set | `{audience_template_name} \| {creative_template_name} \| {variant_index}` | `Broad US \| Summer Sale \| 1` |
| Ad | `{creative_template_name} \| {headline} \| {media_filename}` | `Summer Sale \| 50% Off Today \| promo-banner` |
## How Token Resolution Works
When you publish a campaign, AdStellar resolves tokens in order:
1. **Campaign name** is generated first using campaign-level tokens.
2. **Ad set names** are generated next — the `{campaign_name}` token is available here because the campaign name was already resolved.
3. **Ad names** are generated last — both `{campaign_name}` and `{adset_name}` tokens are available because both were already resolved.
If a token has no value (for example, `{custom_audiences}` when no custom audiences are used), it's removed from the name and any surrounding separators are cleaned up automatically.
# Campaign Launch Overview
Source: https://docs.adstellar.ai/guides/launch/overview
End-to-end guide to building and launching Meta ad campaigns with AdStellar.
The campaign launcher is where everything comes together. You configure your campaign settings, select audiences, pick creatives, and publish — all in one flow.
## Starting a New Campaign
From the **Campaigns** page, click **New Campaign**. This opens the launch wizard, a multi-step flow that walks you through the full campaign setup.
There are two ways to start:
* **Manual launch** — You configure everything yourself, step by step.
* **AI-generated campaign** — AI builds an optimized campaign for you. AI launches begin with an **AI Overview** page where you can review and adjust the generated plan before entering the wizard.
Both paths lead to the same launch wizard. The difference is whether you start from scratch or from an AI-generated draft.
## The Launch Flow
Choose your ad account, objective, budget, and naming pattern. This is the foundation of your campaign.
[Campaign Settings →](/guides/launch/campaign-settings)
Select audience templates to create ad sets. Configure conversion events, schedules, placements, and per-ad-set budgets.
[Ad Sets & Targeting →](/guides/launch/ad-sets)
Pick creative templates, assign your Facebook Page, configure tracking, and preview how your ads will look.
[Ads & Creatives →](/guides/launch/ads)
See a full summary of your campaign. Fix any validation errors, review the campaign map, and hit publish.
[Review & Publish →](/guides/launch/review-publish)
After publishing, define the performance metrics you want to track — CPA, ROAS, or CPC — and set target values.
[Setting Goals →](/guides/launch/goals)
Your campaign is live. Head to the Campaigns page to track performance and let AI Insights surface what's working.
## Naming Patterns
Throughout the wizard, you'll set names for campaigns, ad sets, and ads. AdStellar supports **dynamic naming tokens** like `{campaign_objective}`, `{launch_date}`, and `{audience_template_name}` that auto-fill when the campaign is published.
[Learn about naming tokens →](/guides/launch/naming-tokens)
If you're launching campaigns regularly, set up [audience templates](/guides/launch/audience-templates) and [creative templates](/guides/launch/creative-templates) first. The launcher pulls from these templates, so having them ready makes building campaigns much faster.
# Review & Publish
Source: https://docs.adstellar.ai/guides/launch/review-publish
Review your campaign setup, fix validation issues, and publish to Meta.
Review & Publish is the fourth step of the launch wizard. Before anything goes live, you get a full summary of your campaign and a chance to catch issues.
## Campaign Summary
The top of the page shows a quick overview of your campaign configuration:
* **Ad Account** — Which account this publishes to
* **Campaign Name** — The resolved name (with tokens filled in)
* **Objective** — Leads, Sales, or Traffic
* **Schedule** — Start and end dates, or continuous
* **Facebook Page** — The Page your ads run from
* **Budget** — Total budget and type (daily/lifetime)
* **Conversion Event** — The event you're optimizing for
## Planning Summary
See exactly how many ads you're about to launch:
**Ad Sets × Ads per Set = Total Ads**
For example: 3 audience templates × 4 creative variants = 12 total ads.
This helps you understand the scale of the launch before committing.
## Validation
AdStellar runs validation checks on your entire campaign before allowing you to publish.
### Errors
Errors **must be fixed** before publishing. Common errors:
* Missing Facebook Page
* No conversion event selected
* Missing budget
* No creatives or audiences selected
Each error includes a **"Go fix this"** link that jumps you directly to the relevant step in the wizard.
### Warnings
Warnings are advisory — you **can publish** with warnings, but should review them. Examples:
* No Instagram account selected
* URL parameters missing
* Broad targeting without Advantage Audience
Fix all errors before publishing. Warnings won't block you but may affect campaign performance.
## Creative Testing Mode
Toggle **Creative Testing Mode** to run each creative variation with an **equal budget split**. This ensures every creative gets a fair chance before Meta's algorithm picks favorites.
Useful when you want clean A/B test data instead of letting Meta optimize immediately.
## Campaign Map
The **Campaign Map** is a visual tree view of your full campaign structure:
```
Campaign
├── Ad Set 1 (Audience A)
│ ├── Ad 1 (Creative X)
│ └── Ad 2 (Creative Y)
├── Ad Set 2 (Audience B)
│ ├── Ad 1 (Creative X)
│ └── Ad 2 (Creative Y)
└── ...
```
Use this to verify the combinations are correct and nothing unexpected slipped in.
## DSA Compliance
If you're targeting **EU countries**, AdStellar displays a **Digital Services Act (DSA)** compliance notice. The DSA requires additional transparency for ads shown in the EU.
Ensure your ads comply with DSA requirements when targeting EU audiences. Non-compliance may result in ad rejections or account issues.
## Publishing
When everything looks good, click **Publish**. Here's what happens:
1. AdStellar submits your campaign to Meta's API.
2. The publish job runs **in the background** — you don't need to keep the page open.
3. Meta processes and reviews your ads (this is standard Meta ad review, usually takes minutes to hours).
4. You're redirected to the **Goals** page to set performance targets.
After publishing, check the Campaigns page to confirm all ads were created successfully. If any failed, you'll see error details there.
# URL Parameter Templates
Source: https://docs.adstellar.ai/guides/launch/url-parameters
Create reusable tracking parameter templates to append UTM and custom parameters to your ad URLs.
URL parameter templates let you define tracking parameters once and apply them to any campaign. This ensures consistent attribution across all your ads without manual entry every time.
## What Are URL Parameters?
URL parameters are key-value pairs appended to your landing page URLs. They tell your analytics tools where traffic is coming from. Common examples:
| Parameter | Purpose | Example Value |
| -------------- | ---------------------- | ------------------ |
| `utm_source` | Traffic source | `facebook` |
| `utm_medium` | Marketing medium | `paid_social` |
| `utm_campaign` | Campaign identifier | `summer_sale_2025` |
| `utm_content` | Ad or creative variant | `video_a` |
| `utm_term` | Keyword or audience | `lookalike_1pct` |
## Creating a Parameter Template
Navigate to **Templates > URL Parameters** from the sidebar. Click **New Template**.
Add one or more key-value pairs. Standard UTM parameters are pre-populated as suggestions, but you can add any custom parameters your analytics stack requires.
Instead of hardcoding values, use dynamic tokens that auto-fill at launch time. For example:
* `{{campaign.name}}` — inserts the campaign name
* `{{adset.name}}` — inserts the ad set name
* `{{ad.name}}` — inserts the ad name
Dynamic values keep your tracking accurate even when you rename campaigns. The token resolves at publish time based on the actual entity names.
Name your template and click **Save**.
## Applying Parameters to Ads
During the [Ads step](/guides/launch/ads) of the campaign launcher, select a URL parameter template from the dropdown. The parameters are appended to all ad URLs in that campaign.
URL parameters are appended to the landing page URL you set in your creative template. If your creative template already has parameters in the URL, the template parameters are added after them.
## Custom Parameters
Beyond standard UTM parameters, you can add any custom key-value pairs your tracking setup requires. Common use cases include:
* Platform-specific tracking IDs (e.g., `fbclid`, `gclid`)
* Internal campaign codes
* A/B test identifiers
* Attribution partner parameters
# Meta Ad Specs & Limits
Source: https://docs.adstellar.ai/guides/meta-ad-specs
Reference guide for Meta advertising limits, budget minimums, and creative specifications.
Quick reference for Meta's advertising constraints and AdStellar's campaign limits.
## Campaign Limits
| Limit | Value |
| ------------------------------------ | ----- |
| Max ad sets per campaign | 500 |
| Max ads per ad set (AdStellar AI) | 10 |
| Max ads per ad set (Meta hard limit) | 50 |
| Max total ads per campaign | 1,500 |
| Max creative/audience combinations | 1,000 |
| Max campaigns per import | 3 |
| Max ads per import | 1,500 |
| Ad name character limit | 400 |
AdStellar's AI Builder caps ad sets at 10 ads for optimal testing efficiency. When [launching into existing campaigns](/guides/launch/existing-campaign), Meta's hard limit of 50 ads per ad set applies.
## Budget Minimums
| Context | Minimum |
| ---------------------------------- | --------------- |
| Meta minimum daily budget | \$1/day |
| Minimum per ad set | \$5/day |
| Learning phase — Traffic objective | \$3/day per ad |
| Learning phase — Leads objective | \$5/day per ad |
| Learning phase — Sales objective | \$10/day per ad |
For the learning phase, multiply the per-ad minimum by your number of ads per ad set. For example, 5 ads optimizing for Sales need at least **\$50/day** per ad set.
## Video Specs by Placement
| Placement | Recommended Aspect Ratio | Also Accepts |
| --------------------------- | ------------------------------ | ---------------- |
| Feed (Facebook & Instagram) | 1:1 (square) or 4:5 (vertical) | 16:9 (landscape) |
| Stories & Reels | 9:16 (vertical) | -- |
| In-stream Video | 16:9 (landscape) | 1:1 (square) |
| Search | Flexible | Most ratios |
| Marketplace | 1:1 (square) preferred | Other ratios |
AdStellar validates video placement compatibility and shows status indicators (**optimal**, **compatible**, **not optimal**) in the creative builder. You can swap in different video assets per placement if needed.
## Special Ad Category Restrictions
**Housing**, **Credit**, and **Employment** categories restrict:
* No detailed targeting (interests, behaviors)
* No age targeting
* No gender targeting
**Issues/Elections/Politics** does NOT have these targeting restrictions but requires country selection.
## Advantage Audience Constraints
When Advantage Audience is enabled, Meta requires `age_max >= 65` and `age_min <= 25`. These are suggestions to Meta's algorithm, not hard limits — Meta may deliver outside this range.
AdStellar automatically adjusts these values if needed when Advantage Audience is toggled on.
## DSA / Ad Transparency
Meta requires **beneficiary** and **payer** information on all ad sets (not just EU-targeted). AdStellar pulls defaults from your Meta Ads Manager settings.
If not configured, set them up in **Meta Ads Manager > Advertising Settings > Verifications and ad transparency**.
Missing beneficiary/payer information can cause ad set creation to fail. See the [EU Beneficiary & Payer guide](/troubleshooting/eu-beneficiary-payer) for step-by-step setup instructions.
# Objectives, Optimization & Bidding
Source: https://docs.adstellar.ai/guides/objectives-optimization
Choose the right campaign objective, optimization goal, and bid strategy.
Your campaign objective, optimization goal, and bid strategy work together to tell Meta who to show your ads to and how to spend your budget. Getting these right is critical to campaign performance.
## Campaign Objectives
AdStellar supports three campaign objectives:
| Objective | Best For | What Meta Optimizes |
| --------- | ------------------------------------------ | ---------------------------------------- |
| Traffic | Driving visitors to your website or app | People most likely to click or visit |
| Leads | Collecting leads via forms or your website | People most likely to submit information |
| Sales | Driving purchases and revenue | People most likely to buy |
Choose the objective that matches your actual business goal. If you want purchases, use **Sales** — even if you think Traffic would be cheaper. Meta's algorithm is most effective when the objective matches the desired outcome.
## Optimization Goals
Within each objective, you choose what specifically to optimize for.
### Traffic
| Goal | Description | Default |
| ------------------ | ------------------------------------------ | ------- |
| Landing Page Views | People who load your page (not just click) | ✓ |
| Link Clicks | People who click your ad link | |
| Reach | Maximum unique people per day | |
| Conversations | People who start a conversation | |
### Leads
| Goal | Description | Default | Requires |
| ------------------- | ------------------------------------------ | ------- | ------------------------- |
| Lead Generation | People who submit a lead form | ✓ | Facebook Page + Lead Form |
| Offsite Conversions | People who convert on your website | | Meta Pixel |
| Link Clicks | People who click your ad link | | |
| Quality Calls | People likely to make a quality phone call | | Facebook Page |
### Sales
| Goal | Description | Default | Requires |
| ------------------- | -------------------------------------- | ------- | ---------------------------- |
| Offsite Conversions | People most likely to purchase | ✓ | Meta Pixel |
| Value | Maximize total conversion value (ROAS) | | Meta Pixel + Purchase events |
| Link Clicks | People who click your ad link | | |
| Reach | Maximum unique people per day | | |
## Bid Strategies
The available bid strategies depend on whether you use Campaign Budget (CBO) or Ad Set Budget (ABO).
### With Campaign Budget (CBO)
| Strategy | How It Works | When to Use |
| -------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------ |
| Highest Volume | Meta spends your budget to get the most results with no cost cap. | Starting out, or when you care about volume over cost. |
| Cost Per Result Goal | Meta targets a specific cost per conversion. May spend less if it can't hit the target. | When you have a target CPA and historical data. |
| Bid Cap | Hard maximum bid per auction. Most restrictive. | When you need strict cost control. |
### With Ad Set Budget (ABO)
| Strategy | How It Works |
| ----------- | ----------------------------------------------------------------------- |
| Lowest Cost | Meta gets the most results for your budget (no cap). Default. |
| Cost Cap | Meta targets a cost per result. May underspend. |
| Bid Cap | Hard maximum bid per auction. |
| ROAS Goal | Meta targets a minimum return on ad spend. Requires Value optimization. |
## CBO vs ABO
**CBO (Campaign Budget Optimization / Advantage Campaign Budget)** — Budget is set at the campaign level. Meta distributes it across ad sets based on performance. Best when you want Meta to shift budget to top performers.
**ABO (Ad Set Budget Optimization)** — Budget is set per ad set. Each ad set gets its own fixed budget. Best when you want equal budget distribution or specific per-audience budgets.
Meta has been pushing advertisers toward CBO (now called "Advantage Campaign Budget"). Both options remain available in AdStellar, but CBO is generally recommended for most campaigns.
# Plans & Feature Access
Source: https://docs.adstellar.ai/guides/plan-comparison
Every AdStellar plan includes every feature — you just choose your monthly credit volume.
AdStellar has **one plan with no feature tiers**. Every plan includes every feature — you simply choose how many **AI credits** you want each month, and you get **unlimited team members and ad accounts** on every plan.
## What's included on every plan
| Included on every plan | |
| ---------------------------------- | --------- |
| AI Image Ads | ✓ |
| AI Video Ads | ✓ |
| AI UGC Avatars | ✓ |
| Custom AI Avatars | ✓ |
| Ad Clone & Competitor Ad Clone | ✓ |
| Text to Video | ✓ |
| AI Actor + Product | ✓ |
| AI Video Editor (save & export) | ✓ |
| AI Campaign Builder | ✓ |
| Top Ads & Winning Ads | ✓ |
| AI Combos | ✓ |
| AI Insights (all groupings) | ✓ |
| Ads Manager | ✓ |
| Manual launches & campaign imports | Unlimited |
| Team members | Unlimited |
| Ad accounts | Unlimited |
| Meta data sync | Hourly |
## Choosing your plan
The only thing that changes between plans is your **monthly credit volume** — from **$100 (50,000 credits/mo)** up to **$10,000 (5,000,000 credits/mo)**, at a flat \$0.002 per credit. See [Plans & Credits](/billing/plans-credits) for the full ladder and per-action credit costs.
## Changing your plan
Open your **workspace menu (top-left) → Billing & Subscription** and click **Change Plan**.
Choose the credit amount that fits your usage.
Moving to a higher volume takes effect immediately (prorated). Moving to a lower volume takes effect at the end of your current billing period.
Because every feature is included on every plan, changing your credit volume never removes access to any feature — it only changes how many AI credits you get each month.
# Retargeting & Campaign Strategies
Source: https://docs.adstellar.ai/guides/retargeting-strategies
Set up retargeting, lookalike audiences, and testing strategies in AdStellar.
This guide covers how to set up retargeting campaigns, build lookalike audiences, plan your budgets, and structure tests for the best results.
***
## Retargeting Campaigns
Retargeting shows ads to people who have already interacted with your business — website visitors, email subscribers, video viewers, and more. In AdStellar, you set up retargeting through [audience templates](/guides/launch/audience-templates) using Custom Audiences.
Go to Meta Ads Manager > Audiences and create custom audiences (website visitors, email lists, video viewers, etc.).
Go to [Audience Templates](/guides/launch/audience-templates), create a new template, and select your custom audiences in the targeting section.
Use this audience template in a new campaign. The ads will be shown to people in your custom audience.
Create separate audience templates for different retargeting segments (e.g., "Website Visitors - 7 days", "Add to Cart - 30 days", "Email List") so you can test each segment independently.
***
## Lookalike Audiences
Lookalike audiences find new people who are similar to your best customers. They're one of the most effective ways to scale cold prospecting on Meta.
In Meta Ads Manager, create a Custom Audience from your best converters (e.g., purchase customers, high-value leads).
In Meta Ads Manager > Audiences, create a Lookalike Audience from your source. Choose a percentage (1%–10%) — lower percentages are more similar to your source.
Create or edit an [audience template](/guides/launch/audience-templates) and select your Lookalike Audience in the targeting section.
Use the audience template in a new campaign to target the lookalike.
Start with a **1% lookalike** for the most similar audience, then expand to 2–5% as you scale. Use separate audience templates for each percentage so you can compare performance in [AI Insights](/guides/insights/ai-insights).
***
## Budget Recommendations for Testing
| Scenario | Recommended Budget |
| --------------------------- | -------------------------------------------------------- |
| **Minimum for Leads** | \$5/day per ad set |
| **Minimum for Sales** | \$10/day per ad set |
| **Recommended for testing** | \$20–50/day per ad set |
| **CBO campaigns** | \$100+/day total (Meta auto-allocates to top performers) |
* For [Creative Testing Mode](/guides/launch/creative-testing-mode), budget is split across more ad sets — increase your total budget accordingly.
* Let campaigns run **3–7 days** (or until \~50 conversions per ad set) before making decisions.
* With CBO at \$100+/day, Meta will automatically shift budget to your top-performing ad sets.
***
## Testing Strategies
### Creative Testing
Test **3–5 creative variants** at a time. Use [Creative Testing Mode](/guides/launch/creative-testing-mode) to isolate each creative in its own ad set for a clean comparison. After 7 days, check [AI Insights](/guides/insights/ai-insights) to see which creative wins.
### Audience Testing
Create **3–4 audience templates** with different targeting approaches (interests vs. lookalikes vs. broad). Launch them all in one campaign to see which audience converts best. [AI Insights](/guides/insights/ai-insights) will rank each audience by your result metric.
### Copy Testing
Put **2–3 headline variants** and **2–3 primary text variants** in each [creative template](/guides/launch/creative-templates). AdStellar creates all combinations automatically — so 3 headlines × 3 primary texts = 9 copy variations per creative, with no extra work.
***
## Scaling Winners
Once you identify winning combinations through [AI Insights](/guides/insights/ai-insights) or [Proven Winners](/guides/insights/proven-winners):
1. **Relaunch winners** — Add winning combinations to a new draft directly from the [Proven Winners](/guides/insights/proven-winners) page.
2. **Increase budget** — Raise the budget on your winning audience/creative combination (increase by 20–30% at a time to avoid resetting the learning phase).
3. **Build lookalikes** — Create Lookalike Audiences based on your converting audience segment and launch them in new campaigns.
4. **Let AI scale for you** — Use [AI Builder](/guides/launch/ai-builder) to generate campaigns that lean into your proven elements automatically.
Avoid changing campaigns during the learning phase (first \~50 conversions). Edits to budget, targeting, or creatives reset the learning phase and delay optimization.
# Video Placement Compatibility
Source: https://docs.adstellar.ai/guides/video-placements
Understand video aspect ratio requirements and placement overrides.
Meta has specific video aspect ratio requirements for different ad placements. AdStellar validates your videos automatically and lets you swap assets per placement.
## Aspect Ratio Requirements
| Placement | Required Aspect Ratio | Notes |
| -------------------------------------- | ----------------------- | ---------------------------------- |
| Feed (Facebook & Instagram) | 1:1 to 4:5 | 16:9 also accepted but not optimal |
| Stories & Reels (Facebook & Instagram) | 9:16 (vertical) | Full-screen vertical format |
| In-stream Video | 16:9 (landscape) or 1:1 | Pre-roll and mid-roll video ads |
| Search | Flexible | Accepts most ratios |
| Marketplace | 1:1 preferred | Square performs best |
| Right Column | Not applicable | Right column doesn't support video |
## Compatibility Indicators
When you add a video to a creative template, AdStellar checks it against each placement's requirements:
* **Optimal** — Video meets the placement's recommended aspect ratio
* **Compatible** — Video will work but isn't ideal (may be cropped or letterboxed)
* **Not Optimal** — Video doesn't meet requirements and may not deliver well
## Placement Overrides
If your video isn't optimal for all placements, you can swap in different video assets per placement. In the Creative Builder, click on a placement group to assign a different video.
For example, use a 1:1 square video for Feed and a 9:16 vertical video for Stories.
For maximum coverage, prepare your video in 3 aspect ratios: **1:1** (square) for Feed, **9:16** (vertical) for Stories/Reels, and **16:9** (landscape) for in-stream. This ensures optimal delivery across all placements.
## What Happens with Incompatible Videos
Meta may automatically crop or letterbox videos that don't match the placement's aspect ratio. This can result in:
* Important content being cut off at the edges
* Black bars appearing above/below or on the sides
* Lower engagement due to poor visual presentation
Using the correct aspect ratio for each placement prevents these issues entirely.
# Attribution Settings
Source: https://docs.adstellar.ai/integrations/attribution
Choose between Meta Pixel and Cometly for conversion attribution across AdStellar.
Attribution determines how conversions are tracked and reported. AdStellar supports two attribution sources, and your choice affects metrics across multiple features.
## Attribution Sources
### Meta Pixel (Default)
Meta's built-in attribution uses the Meta Pixel and Conversions API to track conversions. This is the default source and requires no additional setup beyond having a Pixel installed on your website.
### Cometly
Cometly provides **first-party attribution** as an alternative to Meta's tracking. It uses server-side tracking to attribute conversions directly, often providing more accurate data — especially for iOS 14.5+ traffic where Meta's attribution may underreport.
Cometly integration requires a separate Cometly account. Connect it from **Settings > Integrations**.
## Configuring Attribution
Navigate to **Settings > Integrations**.
Under the Attribution section, choose **Meta Pixel** or **Cometly** as your primary attribution source.
Click **Save**. The change takes effect immediately across all features that display conversion data.
## Where Attribution Applies
Your attribution source selection affects conversion-related metrics in these features:
| Feature | What changes |
| ------------------ | -------------------------------------------------------------------------------- |
| **AI Insights** | Ad rankings are based on conversion data from the selected source |
| **Proven Winners** | Top-performing ads are ranked by the selected attribution |
| **AI Combos** | Recommended creative/audience combinations use the selected conversion data |
| **Ads Manager** | Results, Conversion Value, Cost per Result, and ROAS reflect the selected source |
### Attribution Toggle
On pages that display conversion data — AI Insights, Proven Winners, AI Combos, and Ads Manager — an attribution toggle lets you switch between Meta and Cometly views without changing your default setting. This is useful for comparing how each source reports the same data.
## Attribution Windows
During the [campaign launch flow](/guides/launch/overview), you can configure the **attribution window** for each campaign. This determines how long after a click or view a conversion is attributed to an ad.
Common windows:
* **1-day click** — conversions within 1 day of clicking the ad
* **7-day click** — conversions within 7 days of clicking the ad
* **1-day click, 1-day view** — includes both click and view-through conversions within 1 day
If you're comparing Meta and Cometly data, keep in mind that they may use different attribution windows by default. Align the windows for an apples-to-apples comparison.
# Available connectors
Source: https://docs.adstellar.ai/integrations/available-connectors
Popular apps you can connect to AdStellar by category, and how each connector's tools work.
AdStellar can connect to **3,000+ apps** through [Pipedream](https://pipedream.com), plus any [custom MCP server](/integrations/connectors#add-a-custom-connector) you add. The **Integrations** page in the app is always the complete, searchable, up-to-date catalog — the lists below highlight popular connectors in each category.
**First-party integrations** — [Meta Ads](/integrations/meta-ads), [Cometly](/integrations/cometly), and Slack — are built directly into AdStellar and set up on their own pages. Everything below is connected through the connectors catalog.
## How a connector's tools work
Every connected app brings its own set of **tools** the agent can use. On a connector's page (open it from **Integrations**), each tool shows a description and a badge:
* **Read** — looks things up only (for example, *list orders*, *get a contact*, *search deals*). No changes are made.
* **Write** — can make changes (for example, *create a record*, *update a deal*, *send a message*).
You decide which tools the agent may run — turn individual tools on or off, or use **Set all to…** to allow or disable everything at once. See [Managing a connector](/integrations/connectors#manage-a-connector) for the full walkthrough.
A safe starting point is to allow the **Read** tools and only enable the **Write** tools you actually want the agent to perform. Before running any Write tool, the agent tells you what it's about to do.
The exact tools vary by app and can change as the provider updates them, so the connector's page always shows the current, live list for that app — use **Refresh tools** to re-check.
## Popular connectors by category
### Ecommerce & billing
Shopify, WooCommerce, BigCommerce, Squarespace, Wix, Recharge, Chargebee, Paddle, Stripe, Square, PayPal, Gumroad, Lemon Squeezy — and many more.
### Email & SMS
Klaviyo, Mailchimp, ActiveCampaign, Customer.io, Brevo, Constant Contact, Kit (ConvertKit), Drip, Omnisend, MailerLite, SendGrid, Twilio, Attentive, Braze, beehiiv — and many more.
### CRM & sales
HubSpot, Salesforce, Pipedrive, Close, Zoho CRM, Copper, Freshsales, Keap, Attio, GoHighLevel — and many more.
### Analytics & data
Google Analytics 4, Mixpanel, Amplitude, PostHog, Heap, Hotjar, Segment, Microsoft Clarity, Metabase, Looker, Power BI, Snowflake, Databricks — and many more.
### Support & helpdesk
Zendesk, Intercom, Freshdesk, Help Scout, Front, Gorgias, Kustomer, Zoho Desk, Crisp, LiveChat, Drift, ServiceNow — and many more.
### Productivity & project management
Asana, ClickUp, Linear, Monday.com, Trello, Jira, Basecamp, Wrike, Smartsheet, Todoist, Microsoft Planner — and many more.
### Files & storage
Google Drive, OneDrive, Dropbox, Box, SharePoint, Cloudinary.
### Communication
Microsoft Teams, Discord, Telegram, WhatsApp, Zoom, ManyChat, RingCentral — and many more.
### Creative & video
Canva, Figma, Frame.io, YouTube, Vimeo, Webflow.
### Forms & lead capture
Typeform, Jotform, Google Forms, Tally, SurveyMonkey, Calendly, Cal.com, Acuity Scheduling — and many more.
### More categories
The catalog also includes **Marketing**, **Funnels & courses**, **Finance & accounting**, **Attribution**, and **Data enrichment** — each with a wide range of apps. Browse and search them all on the **Integrations** page.
Don't see an app you need? Add it as a [custom connector](/integrations/connectors#add-a-custom-connector) if you have its MCP server, or reach out to [support](/support/contact).
# Cometly Integration
Source: https://docs.adstellar.ai/integrations/cometly
How to connect Cometly attribution data to AdStellar
[Cometly](https://www.cometly.com/?comet_custom=adstellar) is a server-side attribution platform that provides more accurate conversion data than traditional pixel-based tracking. Once connected, you can use Cometly's attribution data as your Results metric for campaign performance analysis and AI optimization.
## Before You Start
You'll need:
* An active [Cometly](https://www.cometly.com/?comet_custom=adstellar) account with data flowing
* Your Cometly API key (found in Cometly under Integrations > API)
* At least one Meta ad account connected to AdStellar
* Ads running that are being tracked by Cometly
***
## Connect Your Cometly Account
Navigate to **Settings** in the left sidebar.
Click the **Integrations** tab.
Locate the **Cometly** integration card.
Paste your Cometly API key into the input field.
Click **Connect** to validate the key.
Once validated, the card will expand to show configuration options.
***
## Configure Your Integration
After connecting, configure these three settings before syncing.
### Attribution Model
Choose how credit is assigned to your ads for conversions:
* **First Touch -- Source Specific** (recommended): The first paid ad interaction gets full credit
* **Last Touch -- Source Specific**: The last paid ad interaction gets full credit
First Touch works best for most advertisers since it identifies which ads initiate customer journeys.
### Attribution Window
Define how long after an ad interaction a conversion can be credited:
* **Lifetime (LTV)** (recommended)
* 1 day, 7 days, 14 days, 30 days, 60 days, or 90 days
Lifetime attribution gives you the most complete picture, especially for products with longer sales cycles.
### Timezone
Select the timezone that matches your Cometly Space settings. This ensures dates convert correctly when syncing.
The timezone in AdStellar must match Cometly's Space timezone exactly, or data may be attributed to incorrect dates.
***
## Select Events to Sync
The Events to Sync section lets you choose which Cometly conversion events to bring into AdStellar.
Cometly tracks two types of events:
* **Standard events**: Purchase, Lead, Add to Cart, etc.
* **Custom events**: Events you've configured with custom names
To add an event, click it in the Available Events column to move it to Selected Events. To remove one, click the X next to it.
Only selected events will sync and become available as result metrics.
***
## Sync Your Data
After configuring settings and selecting events:
Click the **Sync** button on the Cometly integration card.
The sync may take a few minutes depending on your data volume.
The Last Synced timestamp updates once finished.
***
## Use Cometly as Your Result Metric
Once synced, you can set Cometly events as the result metric for any campaign.
Go to the **Performance** page for a campaign.
Click **Configure Results** (or the result metric dropdown).
Choose a Cometly event from the available metrics (e.g., Cometly Purchases).
Click **Update** to apply the new result metric.
A progress banner will appear while AdStellar backfills historical data. Once complete, the Results column shows your Cometly conversion data.
***
## Automatic Sync Frequency
Cometly data syncs automatically **every hour** on every plan.
You can trigger a manual sync anytime from Settings > Integrations by clicking **Sync** on the Cometly card.
***
## Troubleshooting
**No events found when selecting events to sync**
Your Cometly account may not have conversion events yet, or data hasn't started flowing. Verify your Cometly setup and ensure ads are running with tracking enabled.
**Sync fails or shows an error**
Your API key may have expired or been revoked. Check it's still valid in Cometly, wait a few minutes, and try again.
**Cometly events not appearing in Configure Results**
Make sure you've selected events to sync in the integration settings and that the initial sync has completed.
**Result counts don't match Cometly dashboard**
Check that your attribution model, window, and timezone settings match between AdStellar and your Cometly Space.
**Data isn't updating**
Verify your subscription is active (paused subscriptions don't sync) and check your plan's sync frequency.
***
## Need Help?
Contact our support team at **[support@adstellar.ai](mailto:support@adstellar.ai)** or use the chat icon in the bottom right corner. Include your workspace name, any error messages, and screenshots of your settings.
# Connectors & Custom MCP
Source: https://docs.adstellar.ai/integrations/connectors
Connect Shopify, HubSpot, Google Sheets, and thousands of other apps — plus your own MCP servers — so the AdStellar agent can use them, and control exactly which tools it can run.
Beyond Meta, Slack, and Cometly, AdStellar connects to **thousands of third-party apps** through [Pipedream](https://pipedream.com). Once you connect an app, its tools become available to the AdStellar agent — so it can read your real orders from Shopify, pull deals from HubSpot, write a performance report to Google Sheets, and more.
You can also add your own **custom connector** (a private or self-hosted MCP server) when you need something that isn't in the catalog.
Connections are made once at the **team** level — when a teammate connects an app, it's available to your whole team. You then control **which workspaces** can use it and **which of its tools** the agent is allowed to run.
## Connect an app
Click **Integrations** in the left sidebar.
Browse by category in the sidebar (Ecommerce, Email & SMS, Analytics, CRM, Support, and more) or use the search box. See [Available connectors](/integrations/available-connectors) for the full list.
Click the app's card. A secure window opens for you to sign in and authorize access.
After you authorize, the card shows a **Connected** badge and the app's tools are immediately available to the agent.
## Manage a connector
Once an app is connected, **click its card** on the Integrations page to open its settings. (Custom connectors: click the connector's row.) From here you can control how the agent uses it.
### Turn the connector on or off
Use the **toggle** in the top-right of the connector page to switch the whole connector on or off. Turning it off withholds all of the app's tools from the agent **without disconnecting** the account — handy when you want to pause an integration temporarily.
### Choose which tools the agent can use
Under **Tool permissions** you'll see every tool the connected app exposes. Each tool has a short description and a badge:
* **Read** — the tool only looks things up (for example, listing orders or fetching a record). Safe, no changes are made.
* **Write** — the tool can make changes (for example, creating or updating a record, or sending a message).
Toggle any tool **on** (allowed) or **off** (not allowed). A common setup is to leave all the **Read** tools on and turn off the **Write** tools you don't want the agent to perform.
Use **Set all to…** in the top-right of the list to allow or turn off every tool at once, then fine-tune individual ones. Use the search box to quickly find a tool by name. Changes save automatically.
When a tool is turned off, the agent simply won't have it available — it can't be called, even if you ask for it directly.
### Limit access to specific workspaces
Under **Workspace access**, choose where the agent can use this connector:
* **All workspaces** (default) — every workspace on your team can use it.
* **Specific workspaces** — pick exactly which workspaces get access. This is great for agencies and multi-brand teams, so one client's workspace can't reach another client's connected apps.
Workspace access only appears when your team has more than one [workspace](/workspaces/overview).
### Refresh, reconnect, or disconnect
Open the **…** menu in the top-right of the connector page for:
* **Refresh tools** — re-check the app for its latest available tools.
* **Reconnect** — re-run the sign-in flow if the connection has expired or stopped working.
* **Disconnect** (or **Remove connector** for custom servers) — remove the app from your team. Its tools, permissions, and workspace settings are cleared.
## What the agent can do with a connected app
Just ask in plain language — for example, *"What was my real Shopify revenue last week vs. what Meta reported?"* — and the agent picks the right tool automatically. When it's using a connector, you'll see a chip in the chat like **"Querying HubSpot…"** with the app's icon.
The agent always prefers its built-in AdStellar tools for ad creation, performance, and Meta campaign management. Connected apps fill in the data and actions those built-ins don't cover. Before running any **Write** tool (creating, updating, deleting, or sending), the agent tells you what it's about to do.
## Add a custom connector
If you run your own [MCP server](https://modelcontextprotocol.io), you can register it so the agent can use its tools.
Click **Integrations** in the left sidebar.
Use the **Add Custom MCP** button in the top-right.
Provide a **name**, the server's **URL** (a Streamable HTTP MCP endpoint — `https` recommended), and an optional **auth header** if your server requires one.
Click **Add connector**. It appears in your connectors list, and you can open it to manage its tools and workspace access just like any other connector.
Auth secrets for custom connectors are **encrypted at rest** and never shown again after you save them. Only add servers you trust — the agent can call the tools the server exposes (subject to the permissions you set).
## Browse available connectors
For a categorized list of popular apps you can connect — and how each connector's tools work — see [Available connectors](/integrations/available-connectors). The in-app **Integrations** page always shows the complete, searchable, up-to-date catalog.
## Troubleshooting
* **I don't see the Integrations options.** External integrations are rolled out gradually. If the connector catalog or **Add Custom MCP** button aren't visible, your team may not be enabled yet — contact support.
* **An app shows as connected but the agent can't use it.** Open the connector page and check that the connector toggle is **on**, the tools you need are **allowed**, and (if you have multiple workspaces) the current workspace has **access**. If the connection looks unhealthy, use **Reconnect**.
* **The agent isn't using a tool I expect.** Confirm that tool is toggled **on** under Tool permissions, then try **Refresh tools**.
* **A custom server's tools aren't showing up.** Confirm the URL is a reachable Streamable HTTP MCP endpoint and that any required auth header is set correctly, then use **Refresh tools**.
# Meta Ads Integration
Source: https://docs.adstellar.ai/integrations/meta-ads
Connect your Meta account to sync ad accounts, campaigns, and performance data.
AdStellar connects to Meta's advertising platform to manage and launch your campaigns. This guide covers how to connect, sync, and troubleshoot your Meta integration.
## Connecting Meta
Navigate to **Settings > Integrations** from the sidebar.
Click **Connect Meta** to begin the Facebook OAuth flow. You'll be redirected to Facebook to authorize AdStellar.
AdStellar requires the following permissions:
| Permission | Why it's needed |
| ----------------------- | ---------------------------------------------- |
| `ads_management` | Create and manage campaigns, ad sets, and ads |
| `ads_read` | Read campaign performance data |
| `business_management` | Access Business Manager assets and ad accounts |
| `pages_read_engagement` | Access Facebook Pages for ad delivery |
If you skip any required permission, some features won't work. You'll need to reconnect and grant all permissions.
After connecting, AdStellar automatically syncs your available ad accounts. Select which accounts you want to use and assign them to [workspaces](/workspaces/creating-workspaces).
## Data Sync
Once connected, AdStellar syncs the following data from Meta:
* **Campaigns** — all campaigns in your connected ad accounts
* **Ad Sets** — targeting and budget configurations
* **Ads** — creative and delivery data
* **Performance Data** — spend, impressions, clicks, conversions, and other metrics
Data syncs automatically on a regular schedule. You can also trigger a manual sync from the Integrations page.
## Resyncing
Click **Resync** on the Integrations page to:
* Refresh your OAuth token
* Re-fetch all campaigns, ad sets, and ads
* Update performance data
If you've made changes directly in Meta Ads Manager (like pausing campaigns or updating budgets), resync to pull those changes into AdStellar.
## Disconnecting Meta
To disconnect your Meta account, click **Disconnect** on the Integrations page. This removes the OAuth connection but does not delete any data already synced to AdStellar.
## Troubleshooting
### Token Expiration
Meta OAuth tokens can expire, especially if you change your Facebook password or revoke app permissions. If your connection stops working:
1. Go to **Settings > Integrations**
2. Click **Resync** to refresh the token
3. If resync fails, click **Reconnect** to go through the OAuth flow again
### Missing Permissions
If features aren't working as expected, you may have skipped a required permission during setup. Disconnect and reconnect Meta, making sure to grant all requested permissions.
### Ad Account Not Appearing
If an ad account doesn't show up after connecting:
* Verify you have access to the account in **Meta Business Manager**
* Check that the account is active (not disabled or closed)
* Try resyncing to refresh the account list
### Connection Health Banner
AdStellar displays a warning banner in the app when your Meta connection needs attention — for example, when a token is expiring soon or permissions have been revoked. Follow the banner instructions to resolve the issue.
# Shopify
Source: https://docs.adstellar.ai/integrations/shopify
Connect your Shopify store so AdStellar can see real orders, revenue, and AOV — plus troubleshooting for connection issues.
Connecting Shopify lets the AdStellar agent ground its analysis in your **real store data** — actual orders, revenue, and average order value — instead of only what Meta reports. It also unlocks conversion-aware recommendations (for example, holding off on a Sales-optimized campaign until your pixel has purchase signal).
## Connect your store
Click **Integrations** in the left sidebar (or **Set up Connectors** from the Setup page).
It's under the **Ecommerce** category, or type "Shopify" in the search box.
A secure Shopify window opens. Sign in with a Shopify account that has **store owner or admin** access, and approve the connection.
After you approve, the AdStellar side finishes the handshake — this normally takes **a few seconds, and at most two minutes**. When the card shows a **Connected** badge, you're done.
**You do not need to pick any Access Scopes manually.** The connection flow requests exactly the read permissions it needs (orders, revenue) automatically — if Shopify shows you a permissions screen, just approve it as-is.
## Troubleshooting
### The window says "Shopify isn't loading right now" or spins forever
The connection handshake now **times out after 2 minutes** with a clear error instead of spinning indefinitely. If it times out or Shopify shows a connection error:
1. **Close the window and retry once.** Transient Shopify hiccups are the most common cause.
2. **Sign in as the store owner or an admin** — staff accounts without app-install permission can log in but can't authorize the connection.
3. **Disable popup blockers / ad blockers** for `app.adstellar.ai`, or retry in an incognito window (rules out extension conflicts).
4. **Use your `yourstore.myshopify.com` address** when Shopify asks for the store, not your custom domain.
### Still stuck?
If the connection fails twice in a row, contact us via the in-app chat and include:
* Your store's `.myshopify.com` address
* What you saw (error message, timeout, or infinite spinner)
* The browser you used
The support agent will file it directly with engineering with that context attached.
## What the agent can do once connected
Ask in plain language and the agent uses your real store data automatically:
* *"What was my real Shopify revenue last week vs. what Meta reported?"*
* *"What's my AOV this month?"*
* *"Which campaign drove the most actual orders?"*
See [Connectors & Custom MCP](/integrations/connectors) for tool permissions and workspace access controls.
# AdStellar Documentation
Source: https://docs.adstellar.ai/introduction
Create stunning ad creatives with AI and launch them to Meta at scale.
Welcome to AdStellar — the fastest way to create AI-powered image ads, video ads, and UGC avatar ads, then launch them to Meta in bulk.
Generate scroll-stopping image ads with AI in seconds.
Turn your product into a professional video ad.
Generate realistic UGC-style avatar videos for your brand.
## How AdStellar Works
AdStellar is built around two core workflows: **Create** and **Launch**.
Use the Canvas to generate image ads, video ads, and UGC avatar videos — all powered by AI. Just provide your product URL or upload a reference, and AdStellar handles the rest.
Build Meta ad campaigns with your creatives. Mix and match audiences, copy, and media to launch hundreds of ad variations in seconds — manually or with AI.
Use AI Insights to see which creatives, audiences, and copy are performing best. Find your Proven Winners and discover untested combos to try next.
Double down on what works. Relaunch top performers, test new variations, and scale your winning ads across campaigns.
## Explore the Docs
Step-by-step guides for every feature — organized by Create, Launch, and Insights.
Connect Meta, Cometly, and attribution tools.
Manage your plan, AI credits, and billing.
Chat with us live or email our support team.
## Need Help?
* **Live Chat** — Click the chat icon inside AdStellar to talk with Halo AI instantly.
* **Email** — Reach us at [support@adstellar.ai](mailto:support@adstellar.ai).
# Account Settings
Source: https://docs.adstellar.ai/settings/account
Manage your profile, login methods, and theme preferences.
Access your account settings from **Settings > Account Settings** in the sidebar.
## Profile Information
Update your personal details:
* **Profile Photo** -- Upload a JPG, PNG, or GIF (max 5 MB). Click your avatar to change or remove it.
* **Full Name** -- Your display name across the platform.
* **Email** -- Your login email. Changing it triggers a verification email to the new address. If you signed up with Google, the email field is read-only.
* **Phone** -- Optional contact number.
Click **Save Changes** after updating.
## Login Methods
AdStellar supports two login methods that can be used together:
* **Google OAuth** -- Connect or disconnect your Google account. If Google is your only login method, you must add a password before disconnecting.
* **Password** -- Add or change your password. Requirements: at least 8 characters, must include a letter and a number.
Using both Google and a password gives you a backup login method if one ever has issues.
## Theme
Choose your preferred appearance:
| Option | Behavior |
| ------ | ---------------------------------------- |
| Light | Always uses light mode |
| Dark | Always uses dark mode |
| System | Follows your operating system preference |
Your theme preference is saved to your account and applies across devices.
# Referral Program
Source: https://docs.adstellar.ai/settings/referral-program
Earn bonus AI credits and commissions by referring others to AdStellar.
Access the referral program from your **workspace menu (top-left) → Refer & Earn**.
## How It Works
When someone signs up using your referral link and subscribes to a paid plan:
* **You both** receive **bonus AI credits** that never expire (the current reward amount is shown on the Refer page).
* **You** also earn a recurring commission on their subscription.
## Your Referral Link
Your unique referral link is displayed on the Refer page. Share it via:
* **Copy link** -- Click to copy your link to the clipboard.
* **Email invite** -- Enter an email address to send a branded invitation.
### Custom Affiliate Token
You can customize the token in your referral URL to make it more memorable. Edit it directly on the Refer page.
## Tracking & Earnings
The referral dashboard shows:
| Metric | Description |
| ----------------- | -------------------------------------------- |
| Bonus AI Credits | Credits earned from successful referrals |
| Referrals | Total number of people who signed up |
| Commission Earned | Total commission from referred subscriptions |
| Pending | Commission awaiting payout |
### Affiliate Performance
Track your funnel from the Rewardful integration:
* **Visitors** -- People who clicked your referral link
* **Leads** -- Visitors who created an account
* **Conversions** -- Leads who subscribed to a paid plan
## Payouts
Set your **PayPal email** on the Refer page to receive commission payouts. You can update it at any time.
## Recent Invitations
View the status of invitations you've sent:
* **Pending** -- Invitation sent, not yet accepted
* **Accepted** -- Recipient signed up
* **Expired** -- Invitation was not used in time
# Security & Sessions
Source: https://docs.adstellar.ai/settings/security
View active sessions and manage access to your account.
Access security settings from **Settings > Security** in the sidebar.
## Active Sessions
The sessions page shows every device currently signed in to your account:
* **Device type** -- Desktop, mobile, or tablet
* **Browser** -- Chrome, Safari, Firefox, etc.
* **IP address** -- The IP used for the session
* **Location** -- Approximate city and country based on IP
* **Last active** -- When the session was last used
* **Current device** -- Your current session is marked with a badge
## Signing Out Other Sessions
If you see a session you don't recognize or want to secure your account:
1. Click **Sign Out Other Sessions**.
2. Confirm in the dialog that appears.
3. All sessions except your current one are terminated immediately.
If you see sessions from locations or devices you don't recognize, sign out those sessions and change your password immediately from [Account Settings](/settings/account).
# Contact Support
Source: https://docs.adstellar.ai/support/contact
Get help from the AdStellar team via live chat or email.
We're here to help. Whether you have a question, hit a bug, or need guidance — reach out anytime.
## Live Chat
The fastest way to get help. Click the chat icon inside AdStellar to talk with **Halo AI** — our AI support assistant that can answer questions and troubleshoot most issues instantly. For anything that needs a human, email us.
Log in to AdStellar and click the chat icon in the bottom-right corner to start a conversation.
## Email
Prefer email? Send us a message and we'll get back to you as quickly as possible.
[support@adstellar.ai](mailto:support@adstellar.ai)
## What to Include
To help us resolve your issue faster, include:
* **Your Workspace ID** — This helps us find your account instantly. See below for how to find it.
* **Your ad account name** or workspace name
* **A description of the issue** — What happened? What did you expect?
* **Screenshots or screen recordings** — Visuals help us diagnose problems quickly
* **Browser and device** — Chrome, Safari, etc.
### How to Find Your Workspace ID
Click your workspace name in the top-left corner of AdStellar, then click **Settings**.
In the Settings sidebar, click **Workspaces**.
Your Workspace ID is displayed on the workspace details page. Click the ID to copy it to your clipboard.
Including your Workspace ID in every support request helps us pull up your account immediately, which means faster resolutions.
## Response Times
* **Live Chat** — Typically instant via Halo AI (AI assistant)
* **Email** — We aim to respond within a few hours during business hours (Mon–Fri)
# Team Members & Roles
Source: https://docs.adstellar.ai/teams/managing-members
Invite teammates, assign roles, and manage access across your AdStellar team.
Your team is the top-level organization in AdStellar. All workspaces, billing, and member management happen at the team level.
## Roles
AdStellar has three team-level roles:
| Role | Permissions |
| ---------- | -------------------------------------------------------------------------------------------------------------------- |
| **Owner** | Full control over the team, including billing, plan changes, and member management. Every team has exactly one Owner |
| **Admin** | Can manage team settings, workspaces, and members. Cannot access billing or change the plan |
| **Member** | Can use the platform within workspaces they've been added to. Cannot manage team settings or other members |
## Inviting Members
Open your **workspace menu (top-left) → Team Members**.
Enter the person's email address and select a role (Admin or Member).
Click **Send**. The invitee receives an email with a link to join your team.
Every plan includes **unlimited team members** at no extra cost — invite as many people as you like.
## Pending Invitations
Pending invitations appear below the active member list. For each pending invite, you can:
* **Resend** — send the invitation email again
* **Cancel** — revoke the invitation before it's accepted
## Removing Members
Admins and Owners can remove any member except the Owner. Removed members immediately lose access to the team and all its workspaces.
### Restricted Members
If a member was removed but owns ad accounts connected to the team, they may appear as **Restricted**. You can restore a restricted member to give them full access again.
## Leaving a Team
Any member can leave a team voluntarily. Before leaving, AdStellar checks whether you own any ad accounts connected to the team. If you do, you'll need to transfer ownership or disconnect those accounts first.
The team Owner cannot leave the team. Ownership must be transferred to another member first.
## Usage Tracking
The team settings page shows your current members. There's no seat limit — invite as many teammates as you need on any plan.
# Team Settings
Source: https://docs.adstellar.ai/teams/team-settings
Configure your team name, icon, AI media preferences, and view team details.
Team settings let you customize how your team appears across AdStellar. Only **Owners** and **Admins** can modify team settings.
## Editing Team Name
Open your **workspace menu (top-left) → Settings**.
Click the team name field, enter a new name, and click **Save**.
Your team name appears in the sidebar navigation and the workspace switcher.
## Team Icon
Upload a custom icon to visually identify your team:
* Supported formats: **JPG**, **PNG**, **GIF**
* Maximum file size: **5 MB**
Click the icon area in team settings to upload a new image. The icon displays next to your team name throughout the app.
Use your company logo or a recognizable brand mark so team members can quickly identify the team, especially if they belong to multiple teams.
## Team ID
Your team ID is a unique, read-only identifier displayed in team settings. You can't change it, but it's useful when:
* Contacting support — share your team ID so the support team can locate your account quickly
* Debugging API integrations
## AI & Media
These settings control how AI-generated content is handled across your team.
### Auto-save AI media to library
When enabled, any images or videos generated through AdStellar's AI tools (image ads, video ads, etc.) are automatically saved to your [Media Library](/media/media-library). This makes them immediately available for use in future campaigns and creative templates.
This setting is **off by default**. Toggle it on if you want AI-generated creatives to automatically appear in your library.
Enable auto-save if your team frequently reuses AI-generated creatives — it saves the extra step of manually adding them to the library.
# Common Issues
Source: https://docs.adstellar.ai/troubleshooting/common-issues
Solutions to frequently encountered problems in AdStellar.
## Meta Connection Issues
### Token Expired
Meta OAuth tokens expire periodically. If you see connection errors:
1. Go to **Settings > Integrations**.
2. Click **Resync Meta** to refresh your token.
3. If resync fails, click **Disconnect** and reconnect your Meta account.
### Ad Account Not Appearing
If an ad account doesn't show up after connecting Meta:
* Verify you have **admin access** to the ad account in [Meta Business Manager](https://business.facebook.com).
* Click **Resync Meta** to re-fetch the account list.
* Check that the ad account isn't disabled or restricted in Meta.
### Connection Health Banner
A yellow banner appears in the app when your Meta connection needs attention. Click the banner to go to the Integrations page and resolve the issue.
## Campaign Launch Issues
### Validation Errors on Review
The Review step checks your campaign for issues before publishing:
* **Errors** (red) must be fixed before you can publish. Click "Go fix this" to jump to the relevant step.
* **Warnings** (yellow) are informational and won't block publishing.
Common errors include missing Facebook Page, invalid targeting for special ad categories, and budget below Meta's minimum.
### Campaign Stuck in "Publishing"
Campaign publishing runs as a background job. If it seems stuck:
1. Check the **Launches** tab on the Campaigns page for status updates.
2. Wait a few minutes -- large campaigns with many ad variations take longer.
3. If the status shows "Failed," expand the launch card to see error details.
## AI Features
### AI Builder Not Available
The AI Builder is included on every plan. If it's unavailable, make sure your subscription is active and you have enough AI credits — check your **workspace menu (top-left) → Billing & Subscription**.
### "Not Enough Data" for AI Features
AI Insights, Proven Winners, and AI Combos require performance data. To populate data:
1. [Import existing campaigns](/getting-started/import-campaigns) from Meta.
2. Wait for campaigns to accumulate spend and conversion data.
3. AI features typically need at least 7 days of active campaign data.
## Billing
### Payment Failed
If your payment fails, a modal will prompt you to update your payment method:
1. Click **Update Payment Method** in the modal.
2. You'll be redirected to the Stripe customer portal.
3. Add a new card or update your existing payment details.
### AI Credits Depleted
When your AI credits are used up:
* **Move to a higher credit volume** -- open your **workspace menu (top-left) → Billing & Subscription → Change Plan** for more monthly credits.
* **Wait for your next grant** -- Credits are granted monthly on your billing anniversary and expire after 60 days.
## Still Need Help?
* **In-app chat** -- Click the support icon inside AdStellar.
* **Email** -- Contact [support@adstellar.ai](mailto:support@adstellar.ai).
# How to Set Up Meta Beneficiary & Payer Information for European Ad Targeting
Source: https://docs.adstellar.ai/troubleshooting/eu-beneficiary-payer
Configure the required beneficiary and payer settings in Meta Ads Manager so your EU-targeted campaigns can publish from AdStellar.
## Why This Matters
Meta [requires all advertisers targeting European countries to have default beneficiary and payer information](https://www.facebook.com/business/help/605021638170961) configured in their Meta Ads Manager. This is a regulatory requirement for ad transparency in the European Union.
If you don't set this up, any campaigns you launch from AdStellar that target European countries will fail to publish to your Meta Ads Manager. You must complete this setup before running EU-targeted campaigns.
## Step-by-Step Setup
Log in to your **Meta Ads Manager** for the ad account you use with AdStellar. In the left-hand navigation menu, click **[Advertising settings](https://adsmanager.facebook.com/adsmanager/manage/advertising_settings)**.
On the Advertising settings page, scroll down to the **Creating ads** section. Find the **[Verifications and ad transparency](https://adsmanager.facebook.com/adsmanager/manage/advertising_settings/beneficiary_payer)** card and click on it.
You'll now see the **Verifications and ad transparency** page. Scroll down to the **Default beneficiary and payer** section. You'll notice it currently shows "No beneficiary added" and "No payer added."
Find the "European Union" section (or the other countries you are looking to target: India, Australia, Singapore, Taiwan).
Click **Change** (Step 1 in the image below):
Then click **Set default** underneath the Default beneficiary and payer section (Step 2 in the image above):
A modal will appear titled **"Set a default beneficiary and payer."** Use the **Beneficiary** dropdown to select the person or organization that benefits from your ads. If the beneficiary and payer are different (for example, if an agency is paying on behalf of a brand), toggle on **"The beneficiary and payer are different"** and fill in both fields. Once you're done, click **Save**.
## You're All Set
Once saved, your default beneficiary and payer information will be automatically applied whenever you create ad sets targeting European countries -- including campaigns launched from AdStellar. You can return to this page at any time to update your settings.
If you have questions or run into issues, reach out to the AdStellar support team.
Keep in mind these countries require different DSA verifications on that page:
* **European Union**
* **India** (securities and investments ads)
* **Australia** (financial services ads)
* **Singapore**
* **Taiwan**
# Meta Connection Issues
Source: https://docs.adstellar.ai/troubleshooting/meta-connection
Diagnose and fix problems with your Meta account connection.
Your Meta connection is the bridge between AdStellar and your ad accounts. Here's how to diagnose and fix connection issues.
## Connection Health Banner
A yellow banner appears at the top of the app when your Meta connection needs attention. This is triggered when AdStellar detects authentication errors during data sync (error codes 190, 102, 104). Click the banner to go to **Settings > Integrations**.
## Token Expiration
Meta OAuth tokens expire periodically (typically every 60 days, but can be shorter). Symptoms include data stops syncing, campaigns fail to publish, and "token expired" errors.
Open the Integrations page from your account settings.
This triggers a token refresh with Meta.
You may be asked to re-authenticate through Facebook's OAuth flow.
Your token is refreshed and data sync resumes automatically.
## Permission Issues
If you didn't grant all permissions during setup, some features won't work.
* **Missing ad account access** — Campaigns fail to publish. Resync Meta and ensure you grant access to all ad accounts.
* **Missing Page access** — Can't select Facebook Pages for ads, videos fail to download. Resync Meta and select "Opt in to all current and future Pages."
* **Missing Instagram access** — Can't select Instagram accounts. Resync Meta and grant Instagram permissions.
## Ad Account Not Appearing
If an ad account doesn't show after connecting Meta:
1. Click **Resync Meta** to refresh the account list.
2. Verify you have **admin or advertiser access** in [Meta Business Manager](https://business.facebook.com).
3. Check that the ad account isn't disabled or restricted.
4. If using Business Manager, ensure the ad account is added to your business.
## Cometly Connection Issues
If Cometly attribution stops working, you may see an error notification. Go to **Settings > Integrations**, check the Attribution section, and reconnect Cometly if needed.
## Full Disconnect and Reconnect
If resync doesn't resolve the issue:
Open the Integrations page from your account settings.
Click **Disconnect** next to your Meta connection.
Click **"Sign in with Facebook"** to reconnect.
Select all ad accounts, Pages, and Instagram accounts when prompted.
Re-assign each ad account to its workspace.
Disconnecting removes all ad account connections. You'll need to reconnect each ad account to its workspace after reconnecting Meta.
# Campaign Publish Errors
Source: https://docs.adstellar.ai/troubleshooting/publish-errors
Understand and resolve errors that occur when publishing campaigns to Meta.
When you publish a campaign, AdStellar sends it to Meta's API. Sometimes errors occur — here's how to understand and fix them.
## How Publishing Works
Campaign publishing runs as a background job. You can track the status of any publish on the **Campaigns > Launches** tab.
Each launch moves through these statuses:
| Status | Meaning |
| -------------- | ------------------------------- |
| **Queued** | Waiting to be processed |
| **Processing** | Actively sending to Meta |
| **Completed** | All ads published successfully |
| **Failed** | All ads failed to publish |
| **Partial** | Some ads succeeded, some failed |
## Partial Publish
Some ads may succeed while others fail. The launch card shows which ads published and which had errors. Successfully published ads are already live (paused) in Meta — you don't need to republish the entire campaign.
Expand the launch card to see per-ad status. You only need to fix and retry the failed ads.
## Auto-Retry
AdStellar automatically retries transient errors — like Meta rate limits and temporary server errors — up to **3 times**. You don't need to take action for these. Just wait and check the launch status again.
## Common Errors
| Error | Meaning | Fix |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Budget too low** | Your daily budget is below Meta's $1/day minimum, or below the learning phase minimum ($3/day for Traffic, $5/day for Leads, $10/day for Sales per ad). | Increase your budget or reduce the number of ad variations. |
| **Instagram account issue** | The Instagram account isn't connected or doesn't match the Facebook Page. | Go to the Ads step and select a valid Instagram account, or remove Instagram placement. |
| **Payment method required** | Your Meta ad account doesn't have a valid payment method. | Add a payment method in **Meta Business Manager > Payment Settings**. |
| **Conversion event unavailable** | The selected conversion event isn't active on your pixel. | Choose a different conversion event or verify your pixel is firing the event correctly. |
| **Pixel not found** | The selected Meta Pixel doesn't exist or you don't have access. | Reselect your pixel on the Ad Sets step, or check pixel permissions in Meta Business Manager. |
| **Permission denied** | AdStellar doesn't have the required permissions for your ad account. | Go to **Settings > Integrations**, click **Resync Meta**, and grant all requested permissions. |
| **Token expired** | Your Meta OAuth token has expired. | Go to **Settings > Integrations** and click **Resync Meta** to refresh your token. |
| **Ad account disabled** | Your Meta ad account has been disabled by Meta. | Contact Meta support to resolve the account restriction. |
| **Audience too small** | Your targeting is too narrow for Meta to deliver ads. | Broaden your audience by adding more interests, locations, or enabling Advantage Audience. |
| **Audience too broad** | Special ad category campaigns have targeting restrictions. | Remove detailed targeting (interests/behaviors) for Housing, Credit, or Employment campaigns. |
| **Creative policy violation** | Your ad creative was rejected by Meta's ad policies. | Review [Meta's Advertising Standards](https://www.facebook.com/policies/ads/) and update your creative. The error details will indicate which policy was violated. |
| **Rate limit exceeded** | Too many API requests to Meta in a short period. | This is auto-retried. If it persists, wait 15–30 minutes and try again. |
| **50-ad limit per ad set** | Meta caps each ad set at 50 ads. | Reduce creative variations or split into multiple campaigns. |
| **DSA beneficiary/payer missing** | Meta requires beneficiary and payer information for ad transparency. | Set up default beneficiary and payer in **Meta Ads Manager > Advertising Settings**. See our [EU Beneficiary & Payer guide](/troubleshooting/eu-beneficiary-payer). |
## Campaign Shows 0 Ad Sets / 0 Ads in Meta
If your campaign appears in Meta Ads Manager but shows 0 ad sets or 0 ads, this usually means the publish job is still processing. Check the **Launches** tab in AdStellar — if the status is "Processing," wait for it to complete. If the status is "Failed" or "Partial," expand the launch card to see error details. Large campaigns with many variations can take several minutes to fully publish.
## Campaigns Publish as Inactive
By design, AdStellar publishes all campaigns, ad sets, and ads in a **PAUSED** state. This is intentional — it gives you a chance to review everything in Meta Ads Manager before spending money. To activate your ads, follow the [Turn On Campaign](/troubleshooting/turn-on-campaign) guide. You'll need to turn on both ad sets AND ads for delivery to begin.
If you don't turn on your ads in Meta Ads Manager, they will never start delivering — even though they published successfully from AdStellar.
## Fail-Fast vs Retryable Errors
Not all errors are retried. AdStellar categorizes errors into two groups:
### Retryable (transient)
These are automatically retried up to 3 times with increasing delays:
* **Rate limits** — Meta API codes 4, 17, 613
* **Transient server errors** — Meta API code 2
### Fail-fast (permanent)
These errors won't be retried because they require manual action:
* **Invalid token** — Code 190. [Resync your Meta connection](/troubleshooting/common-issues#token-expired).
* **Account disabled** — Code 1487553. Contact Meta support.
* **Policy violations** — Code 1487890. Update your creative to comply with Meta's ad policies.
* **Spending limit reached** — Code 1487696. Increase your spending limit in Meta Business Manager.
## AI Builder Errors
When AI campaign generation fails, you'll see an error with an ID like `AI-XXXXXX`. Include this ID when contacting support.
Common AI errors:
* **Timeout** — Generation took too long. Try again with fewer variations or a simpler brief.
* **Rate limit** — Too many concurrent AI builds. Wait a minute and retry.
* **Validation** — The generated campaign didn't pass AdStellar's checks. Review the error details and adjust your inputs.
Always include the `AI-XXXXXX` error ID when reporting AI issues to support — it helps us diagnose the problem faster.
## Still Stuck?
* **In-app chat** — Click the support icon inside AdStellar.
* **Email** — Contact [support@adstellar.ai](mailto:support@adstellar.ai) with your error details and a screenshot of the launch card.
# How to Turn On Your Campaign
Source: https://docs.adstellar.ai/troubleshooting/turn-on-campaign
After publishing from AdStellar, your campaign is toggled off by default. Turn it on from AdStellar's Ads Manager or in Meta Ads Manager.
When you publish a campaign from AdStellar, it is automatically imported into your Meta Ads Manager. However, your campaign and all of its ad sets and ads will be **toggled off by default**. This means your ads will not start running until you turn them on.
## Option 1: Turn On from AdStellar (Easiest)
Go to **Ads Manager** in AdStellar (left sidebar, right under Launch). Every campaign, ad set, and ad has an on/off switch in the **Status** column — flip it to turn the item on. The change applies to Meta immediately.
Remember to turn on the campaign, its ad sets, and its ads — all levels must be on for your ads to deliver. [Learn more about Ads Manager controls →](/guides/insights/ads-manager)
## Option 2: Turn On in Meta Ads Manager
This guide will walk you through how to quickly turn on all of your ad sets and ads in bulk so your campaign can start delivering.
You will need to repeat this process twice -- once at the Ad Sets level and once at the Ads level. Both must be turned on for your ads to run.
## Step-by-Step Instructions
In Meta Ads Manager, navigate to the **Ad Sets** tab of your campaign. Click the master checkbox in the top-left corner of the table. This will select all of your ad sets at once.
With all ad sets selected, look for the **Edit** button in the toolbar. Click the small **down arrow** next to the Edit button to open a dropdown menu.
In the dropdown menu, click **Turn on**. This will turn on all of the selected ad sets at once.
A confirmation dialog will appear that says **"Change item status -- You are turning on 15 items"** (the number will match how many ad sets you selected). Click the green **Publish** button to confirm and apply the changes.
## Repeat for the Ads Level
After you have turned on all of your ad sets, you need to do the same thing at the **Ads** level. Click on the **Ads** tab in Meta Ads Manager and repeat the exact same steps:
1. Select all ads using the master checkbox
2. Open the Edit dropdown menu
3. Click "Turn On"
4. Click "Publish" to confirm
Once both your ad sets and ads are turned on and published, your campaign will begin delivering according to the schedule and budget you configured in AdStellar.
## Troubleshooting
* **My ads still say "Off" after publishing.** Make sure you have turned on items at both the Ad Sets level and the Ads level. If only one level is turned on, your ads will not deliver.
* **I don't see the Edit dropdown.** Make sure you have selected at least one item using the checkbox. The Edit button and its dropdown arrow only appear when items are selected.
* **I see "In Review" instead of "Active."** This is normal. After turning on your ads, Meta may take some time to review them before they start delivering. This typically takes less than 24 hours.
Need more help? Contact the AdStellar support team and we'll be happy to assist you.
# Why Some Videos Fail to Download After Importing Campaigns
Source: https://docs.adstellar.ai/troubleshooting/video-download-failures
Understand why imported campaign videos show a 'Page Access Required' error and how to fix it by updating your Meta Page permissions.
When you import campaigns from Meta, AdStellar downloads all the images and videos used in your ads. **Images always download successfully**, but videos sometimes fail with a "Page Access Required" error. This article explains why this happens and how to fix it.
## Why does this happen?
Videos in Meta ads are owned by Facebook Pages and have stricter access controls than images. When you connect your Meta account to AdStellar, you choose which Facebook Pages to grant access to. If a campaign uses videos from a Page you didn't select during setup, AdStellar can't download those videos.
This only affects videos, not images. Images will always download successfully.
**Common scenarios:**
* You manage multiple Facebook Pages but only selected one during Meta setup
* Your ads use videos posted to a different Page than you connected
* You skipped the Page selection step during Meta authorization
## How to fix failed video downloads
1. Go to **Settings > Integrations**
2. Click **Resync** next to your Meta connection
3. In the Facebook authorization window, click "Edit previous settings"
4. Select **"Opt in to all current and future Pages"**
5. Save and complete the authorization
1. Go to your **Media Library**
2. Look for the **"Failed Downloads"** banner at the top
3. Click **"Retry All"** to re-attempt all failed downloads
4. Wait for the downloads to complete -- successfully downloaded videos will appear in your library
## How to prevent this in the future
When connecting your Meta account, always select **all Facebook Pages** you manage -- even if you think you won't use them. This ensures AdStellar can access any videos your campaigns might use.
If you see a warning about "Page permissions" when connecting Meta or importing campaigns, it means some Pages weren't selected. Reconnect Meta to fix this before importing.
## Still having issues?
If videos still fail after reconnecting:
* Make sure you're an admin of the Facebook Page that owns the video
* Check that the video hasn't been deleted from the original Page
* Contact us via chat and we'll help troubleshoot
# Creating & Managing Workspaces
Source: https://docs.adstellar.ai/workspaces/creating-workspaces
Organize your campaigns, templates, and media by client or business unit with workspaces.
Workspaces let you separate your work by client, brand, or business unit. Each workspace has its own ad accounts, campaigns, templates, and media — keeping everything organized and isolated.
## Default Workspace
When you create a team, a default workspace is automatically created. This workspace can be renamed but cannot be deleted.
## Creating a Workspace
Click the workspace switcher in the sidebar, then click **Create Workspace**.
Provide a **name** and optional **description** for the workspace.
Click **Create**. The new workspace becomes your active workspace.
## Switching Workspaces
Use the workspace switcher in the sidebar to move between workspaces. When you switch, all data in the app — campaigns, templates, media, ad accounts — updates to reflect the selected workspace.
## Editing a Workspace
From the workspace settings page, you can:
* **Edit the name** and description
* **Change the icon** — upload a custom icon to visually distinguish workspaces
## Deleting a Workspace
You can delete a workspace as long as:
* It is not the **default workspace**
* It is not the **only remaining workspace** in your team
Deleting a workspace removes all workspace-scoped data, including campaigns, templates, and media associations. This action cannot be undone.
## What's Scoped to a Workspace
Each workspace maintains its own isolated set of:
| Data | Description |
| ---------------------- | ------------------------------------------------ |
| **Ad Accounts** | Meta ad accounts connected to this workspace |
| **Campaigns** | Drafts, AI drafts, templates, and launch history |
| **Creative Templates** | Reusable creative sets |
| **Audience Templates** | Saved targeting configurations |
| **Media** | Uploaded images and videos |
Team members and billing are managed at the team level, not per workspace.
# Creating & Managing Workspaces
Source: https://docs.adstellar.ai/workspaces/overview
Workspaces in AdStellar make it easy to organize campaigns, templates, media, and analytics across different clients, brands, or projects.
**Workspaces are unlimited on all plans** -- you can create as many as you need at no additional cost.
## What is a Workspace?
A workspace is an organizational container inside your AdStellar team. Think of it like a dedicated folder for a specific client or initiative. All content inside a workspace stays isolated, including:
* Campaigns
* Templates
* Media/creatives
* Performance data
* AI insights
### Common Use Cases
* **Agencies:** Create a workspace for each client
* **Brands:** Separate product lines, initiatives, or markets
* **Freelancers:** Organize client engagements cleanly
* **Teams:** Keep experiments, tests, and evergreen campaigns separated
***
## Accessing Workspaces
### Workspace Switcher (Sidebar)
Your active workspace is always shown at the **top of the left sidebar**.
To switch:
Click on the workspace name in the top of the left sidebar.
A dropdown will appear showing all your workspaces.
Click the workspace you want to switch to. The app will reload with data from the selected workspace.
The dropdown also includes a quick link to **Manage Workspaces**.
***
## Creating a Workspace
Click on the workspace switcher in the sidebar and select **Manage Workspaces**.
Click **Create Workspace** in the top right.
Configure your new workspace:
* **Icon** (optional)
* **Workspace Name** (required)
* **Description** (optional)
Click **Create Workspace**. You'll be automatically switched into the new workspace.
***
## Managing Workspaces
All workspace management occurs in **Manage Workspaces**, available in the app menu.
### Available Actions
| Action | Description |
| ------------ | ----------------------------------------------- |
| Switch | Make a workspace active |
| Edit | Change name, description, or icon |
| Delete | Soft-delete workspace (recoverable for 30 days) |
| View Members | Expand to see workspace members |
| Add Members | Add team members or invite new users |
The default workspace cannot be deleted.
***
## Workspace Members
Each workspace can have its own member list and permissions.
### Roles & Permissions
| Role | Permissions |
| ------ | ----------------------------------------------------- |
| Admin | Full control of workspace settings and content |
| Member | Can create and manage campaigns, templates, and media |
### Adding Members
Go to **Manage Workspaces** and expand the workspace.
Click **Add Member**.
Choose an existing team member or invite a new user by email. Select their workspace role (Admin or Member) and confirm.
### Removing Members
Go to **Manage Workspaces** and expand the workspace.
Click the remove button next to the member's name.
Choose whether to remove them from just the workspace or from the entire team.
If it's their only workspace, you can optionally remove them from the entire team.
### Team Admin Access
Team Owners and Team Admins automatically have access to every workspace.
***
## Data Isolation
Workspaces keep everything neatly separated:
| Data Type | Workspace-Isolated? |
| ----------------- | --------------------------------- |
| Campaigns | Yes |
| Templates | Yes (unless shared at team level) |
| Media / Creatives | Yes |
| Analytics | Yes |
| AI Insights | Yes |
**Shared across the team:**
* Team-level templates
* Connected Meta ad accounts
***
## Default Workspace
Every new team on AdStellar is created with a **Default Workspace**, which:
* Cannot be deleted
* Acts as a fallback for users
* Can be renamed or updated
***
## Workspace Permissions
| Action | Team Owner | Team Admin | Workspace Admin | Workspace Member |
| --------------------- | ---------- | ---------- | --------------- | ---------------- |
| Create workspaces | Yes | Yes | No | No |
| Delete workspaces | Yes | Yes | No | No |
| Edit settings | Yes | Yes | Yes | No |
| Add/remove members | Yes | Yes | Yes | No |
| Create campaigns | Yes | Yes | Yes | Yes |
| View analytics | Yes | Yes | Yes | Yes |
| Access all workspaces | Yes | Yes | No | No |
***
## FAQs
### Are workspaces limited by plan?
No -- all plans include unlimited workspaces.
### Can I move campaigns or templates to another workspace?
Not yet. Campaigns, media, and templates must be recreated in the target workspace.
### What happens when a workspace is deleted?
It becomes soft-deleted and can be restored by support for up to 30 days.
### Can one user belong to multiple workspaces?
Yes. Members can be added to as many workspaces as needed.
### Who can see all workspaces?
Team Owners and Team Admins see every workspace. Other members only see the ones they're added to.
***
## Need Help?
If you have questions about workspaces or team organization, our support team is here to help. Please contact us by clicking the icon in the bottom right of your screen.
# Workspace Members
Source: https://docs.adstellar.ai/workspaces/workspace-members
Add team members to workspaces, assign roles, and manage workspace-level access.
Workspace members control who can access a specific workspace's data — its campaigns, templates, media, and ad accounts. Managing workspace membership is separate from [team-level membership](/teams/managing-members).
## Adding Members
Navigate to the workspace settings page for the workspace you want to manage.
Select from your team's existing members to grant them access to this workspace.
If the person isn't on your team yet, enter their email to send an invitation. This creates both a **team invitation** and grants **workspace access** once they accept.
## Workspace Roles
| Role | Permissions |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Admin** | Full access to workspace settings, members, ad accounts, campaigns, and templates |
| **Member** | Can create and manage campaigns, templates, and media within the workspace. Cannot modify workspace settings or manage members |
Workspace roles are separate from team roles. A user can be a team-level Member but a workspace-level Admin for a specific workspace.
## Removing Members
You have two options when removing someone from a workspace:
1. **Remove from workspace only** — the person loses access to this workspace but remains on the team and can still access other workspaces they belong to.
2. **Remove from team entirely** — the person is removed from the workspace and from the team. They lose access to everything.
Removing someone from the team is permanent. They'll need a new invitation to rejoin.