# Connect Adskeeper Source: https://docs.theoptimizer.io/ad-networks/adskeeper/integration/connect Connect your Adskeeper account to TheOptimizer using API credentials to sync campaign data and enable automated optimisation. Adskeeper is a native advertising network with a broad publisher base across Europe and international markets. It is used by performance marketers running native campaigns for e-commerce, finance, and health verticals who want access to traffic sources outside the major tier-one networks. Adskeeper connects via API credentials — you copy an API Key from your Adskeeper account settings and paste it into TheOptimizer. *** ## Where to Find Your API Credentials Log in to the **Adskeeper platform** → go to **Account settings** → **API** → copy your **API Key**. *** ## Connecting to TheOptimizer From the left-hand menu, go to **Integrations**. Find the **Adskeeper** card and click **Connect →**. Enter the credentials requested: * **Integration name** — a descriptive label for this connection (e.g. "Adskeeper – Main Account"). * **API Key** — paste the API Key from your Adskeeper account settings. Give the integration a descriptive name so it's easy to identify if you manage multiple accounts. Adskeeper connection form in TheOptimizer Once credentials are accepted, TheOptimizer begins syncing your campaign data. Initial sync takes up to 20–30 minutes. If you have multiple ad accounts under this network, they will all be pulled in and listed under this integration after the initial sync. *** ## Next Steps * Connect a tracking platform to bring conversion and revenue data into your campaign reports # Manage Ad Accounts & Profiles Source: https://docs.theoptimizer.io/ad-networks/adskeeper/integration/manage-accounts Enable, disable, and archive Adskeeper ad accounts — plus manage credential profiles, add tags, and configure tracker connections per account. Once your Adskeeper integration is connected, you can manage the individual ad accounts and API credential profiles associated with it from **Integrations → Adskeeper**. *** ## Ad Accounts Click on the Adskeeper integration to see the full list of ad accounts associated with your connected credentials. ### Enable and Disable Accounts Each ad account has an **ON/OFF** toggle. Disabling an account stops TheOptimizer from syncing data and running automation rules for that account. All historical data is retained — you can re-enable it at any time and data will resume syncing. You can also disable multiple accounts at once using the bulk actions menu. *** ### Archive Ad Accounts Archiving is a stronger form of removal than disabling. When an ad account is archived it is completely hidden from the system — it no longer appears in dropdown selectors, filters, or the Campaign Creator, and TheOptimizer stops all processing for it: no data sync, no automation rules, no campaign or resource visibility. Use archiving when you want to permanently retire an ad account from your workflow without losing the ability to restore it later if needed. **Archive a single account** Hover over any ad account row in the list. Below the account name, two inline actions appear: **Edit** and **Archive**. Click **Archive** to archive that account immediately. **Archive multiple accounts at once** Select the checkboxes next to two or more ad accounts. A bulk action bar appears at the bottom of the screen showing options including **Manage Tags**, **Manage Linked Trackers**, **Change Profile**, and **Archive**. Click **Archive** to archive all selected accounts in one operation. **View and unarchive archived accounts** Archived accounts are hidden from the default view. To find them: 1. Click **Filters** at the top of the ad accounts list. 2. Select **Archived** from the filter menu. 3. Choose **Archived** (to see only archived accounts) or **All** (to see both active and archived). 4. Click **Apply Filters**. Once the archived accounts are visible, select one or more using their checkboxes, then click **Unarchive** in the bottom action bar. The account is immediately restored — it reappears in all selectors and filters, and TheOptimizer resumes data syncing and rule execution for it. *** ### Assign Ad Accounts to a Profile Each ad account uses one profile — the credentials TheOptimizer uses to access it. Ad account-to-profile assignments are managed from the Profiles panel: click **Manage Ad Accounts** on any profile card to open an assignment dialog where you can add or remove accounts from that profile. The dialog shows two sections: accounts that the selected profile has access to but which are currently assigned to a different profile (available to reassign), and accounts already using this profile. Select the accounts you want to add and click **Save**. You can also reassign a single ad account directly from the ad accounts table — hover the row and click **Edit** to change its assigned profile without opening the profiles panel. *** ### Add Tags Ad accounts can be tagged with any labels you define — by client, brand, vertical, team, or any other convention. Tags appear as filters throughout TheOptimizer, making it easy to work with specific subsets of accounts. Some tags (timezone, currency) are applied automatically by TheOptimizer when the account is first synced. To add a tag: click on the ad account → **Tags** → **Add Tag**. *** ### Customise Tracker Connections Per Account By default, tracker connections are configured at the integration level and apply to all ad accounts. But you can override this at the individual account level: * **Link a different tracker** — use a different tracking platform for this specific account. * **Pause the tracker connection** — stop pulling tracker data for this account without affecting others. * **Change the tracking template** — use a different template (macro mapping) for this account. Access these settings from **Linked Trackers** on the individual ad account page. *** ## Profiles **Profiles** are sets of API credentials (key and secret) that TheOptimizer uses to access your Adskeeper ad accounts. Each profile corresponds to one pair of valid API credentials. TheOptimizer uses whichever profile is assigned to each account to authenticate all requests for that account. ### Add New Profiles Go to **Integrations → Adskeeper → Profiles** and click **Add Profile**. Enter the API key and secret for the new credential set and give it a recognisable name. Reasons to add multiple profiles: * **Multiple Adskeeper accounts** — if you manage ad accounts under different logins or organisations, each login has its own API credentials and needs its own profile. * **Team management** — different credential sets can be assigned to different account groups managed by different team members. * **Backup credentials** — if one credential set becomes invalid, accounts can be reassigned to a backup profile immediately without any reconfiguration. ### Sync New Ad Accounts When new ad accounts become accessible under an existing set of credentials, they won't appear automatically. To pull them in: 1. Go to **Integrations → Adskeeper → Profiles**. 2. Find the relevant profile. 3. Click **Sync** (or **Refresh Accounts**). This re-queries Adskeeper's API using the stored credentials and pulls in any newly available accounts without requiring you to re-enter your credentials. ### Update API Credentials If your Adskeeper API credentials are regenerated or expire, the profile using them will stop working. TheOptimizer can no longer sync data or run automation for any accounts assigned to that profile until the credentials are updated. To update credentials: 1. Go to **Integrations → Adskeeper → Profiles**. 2. Find the profile with invalid or outdated credentials (it will typically show an error or warning). 3. Click **Edit** on the profile and enter the new API key and secret. 4. Save the changes. Data sync and automation resume immediately for all accounts assigned to that profile. You will receive notifications when a profile's credentials are invalid. If credentials are not updated promptly, all automation and data sync for accounts under that profile will silently stop. Check your integrations regularly after regenerating API keys in Adskeeper. # Adskeeper on TheOptimizer Source: https://docs.theoptimizer.io/ad-networks/adskeeper/overview Connect Adskeeper to TheOptimizer to monitor performance, automate optimization, and manage campaigns from one dashboard. TheOptimizer connects to Adskeeper so you can monitor performance, automate optimization, and manage everything from one dashboard. You connect it using API credentials generated from the network's own settings. ## Set up Adskeeper You connect it using API credentials generated from the network's own settings. Enable, disable, tag, and configure the Adskeeper ad accounts you sync. ## Automate & launch Automation patterns that work across native networks like Adskeeper. ## Shared tools you'll use Once your data is flowing, everything below works the same across every network: Monitor and act on all your campaigns, ad sets, and ads from one table. Learn how the rules engine, rule chains, and templates work. Track creative performance and reuse winning assets. See every automated action and change TheOptimizer makes. # Connect BigoAds Source: https://docs.theoptimizer.io/ad-networks/bigoads/integration/connect Connect your BigoAds account to TheOptimizer using API credentials to sync campaign data and enable automated optimisation. BigoAds is the advertising platform of Bigo Technology, offering access to large audiences across Bigo Live, Likee, and other apps in their portfolio. It is used by performance marketers targeting mobile-first audiences in Southeast Asia, the Middle East, and other emerging markets. BigoAds connects via API credentials — you copy an App ID and App Secret from your BigoAds business platform settings and paste them into TheOptimizer. These function as your Client ID and Client Secret for the API. *** ## Where to Find Your API Credentials Log in to the **BigoAds business platform** → go to **Settings** → **API** → copy your **App ID** and **App Secret**. *** ## Connecting to TheOptimizer From the left-hand menu, go to **Integrations**. Find the **BigoAds** card and click **Connect →**. Enter the credentials requested: * **Integration name** — a descriptive label for this connection (e.g. "BigoAds – Main Account"). * **App ID** — paste the App ID from your BigoAds settings (this is your Client ID). * **App Secret** — paste the App Secret from your BigoAds settings (this is your Client Secret). Give the integration a descriptive name so it's easy to identify if you manage multiple accounts. BigoAds connection form in TheOptimizer Once credentials are accepted, TheOptimizer begins syncing your campaign data. Initial sync takes up to 20–30 minutes. If you have multiple ad accounts under this network, they will all be pulled in and listed under this integration after the initial sync. *** ## Next Steps * Connect a tracking platform to bring conversion and revenue data into your campaign reports # Manage Ad Accounts & Profiles Source: https://docs.theoptimizer.io/ad-networks/bigoads/integration/manage-accounts Enable, disable, and archive BigoAds ad accounts — plus manage credential profiles, add tags, and configure tracker connections per account. Once your BigoAds integration is connected, you can manage the individual ad accounts and API credential profiles associated with it from **Integrations → BigoAds**. *** ## Ad Accounts Click on the BigoAds integration to see the full list of ad accounts associated with your connected credentials. ### Enable and Disable Accounts Each ad account has an **ON/OFF** toggle. Disabling an account stops TheOptimizer from syncing data and running automation rules for that account. All historical data is retained — you can re-enable it at any time and data will resume syncing. You can also disable multiple accounts at once using the bulk actions menu. *** ### Archive Ad Accounts Archiving is a stronger form of removal than disabling. When an ad account is archived it is completely hidden from the system — it no longer appears in dropdown selectors, filters, or the Campaign Creator, and TheOptimizer stops all processing for it: no data sync, no automation rules, no campaign or resource visibility. Use archiving when you want to permanently retire an ad account from your workflow without losing the ability to restore it later if needed. **Archive a single account** Hover over any ad account row in the list. Below the account name, two inline actions appear: **Edit** and **Archive**. Click **Archive** to archive that account immediately. **Archive multiple accounts at once** Select the checkboxes next to two or more ad accounts. A bulk action bar appears at the bottom of the screen showing options including **Manage Tags**, **Manage Linked Trackers**, **Change Profile**, and **Archive**. Click **Archive** to archive all selected accounts in one operation. **View and unarchive archived accounts** Archived accounts are hidden from the default view. To find them: 1. Click **Filters** at the top of the ad accounts list. 2. Select **Archived** from the filter menu. 3. Choose **Archived** (to see only archived accounts) or **All** (to see both active and archived). 4. Click **Apply Filters**. Once the archived accounts are visible, select one or more using their checkboxes, then click **Unarchive** in the bottom action bar. The account is immediately restored — it reappears in all selectors and filters, and TheOptimizer resumes data syncing and rule execution for it. *** ### Assign Ad Accounts to a Profile Each ad account uses one profile — the credentials TheOptimizer uses to access it. Ad account-to-profile assignments are managed from the Profiles panel: click **Manage Ad Accounts** on any profile card to open an assignment dialog where you can add or remove accounts from that profile. The dialog shows two sections: accounts that the selected profile has access to but which are currently assigned to a different profile (available to reassign), and accounts already using this profile. Select the accounts you want to add and click **Save**. You can also reassign a single ad account directly from the ad accounts table — hover the row and click **Edit** to change its assigned profile without opening the profiles panel. *** ### Add Tags Ad accounts can be tagged with any labels you define — by client, brand, vertical, team, or any other convention. Tags appear as filters throughout TheOptimizer, making it easy to work with specific subsets of accounts. Some tags (timezone, currency) are applied automatically by TheOptimizer when the account is first synced. To add a tag: click on the ad account → **Tags** → **Add Tag**. *** ### Customise Tracker Connections Per Account By default, tracker connections are configured at the integration level and apply to all ad accounts. But you can override this at the individual account level: * **Link a different tracker** — use a different tracking platform for this specific account. * **Pause the tracker connection** — stop pulling tracker data for this account without affecting others. * **Change the tracking template** — use a different template (macro mapping) for this account. Access these settings from **Linked Trackers** on the individual ad account page. *** ## Profiles **Profiles** are sets of API credentials (key and secret) that TheOptimizer uses to access your BigoAds ad accounts. Each profile corresponds to one pair of valid API credentials. TheOptimizer uses whichever profile is assigned to each account to authenticate all requests for that account. ### Add New Profiles Go to **Integrations → BigoAds → Profiles** and click **Add Profile**. Enter the API key and secret for the new credential set and give it a recognisable name. Reasons to add multiple profiles: * **Multiple BigoAds accounts** — if you manage ad accounts under different logins or organisations, each login has its own API credentials and needs its own profile. * **Team management** — different credential sets can be assigned to different account groups managed by different team members. * **Backup credentials** — if one credential set becomes invalid, accounts can be reassigned to a backup profile immediately without any reconfiguration. ### Sync New Ad Accounts When new ad accounts become accessible under an existing set of credentials, they won't appear automatically. To pull them in: 1. Go to **Integrations → BigoAds → Profiles**. 2. Find the relevant profile. 3. Click **Sync** (or **Refresh Accounts**). This re-queries BigoAds's API using the stored credentials and pulls in any newly available accounts without requiring you to re-enter your credentials. ### Update API Credentials If your BigoAds API credentials are regenerated or expire, the profile using them will stop working. TheOptimizer can no longer sync data or run automation for any accounts assigned to that profile until the credentials are updated. To update credentials: 1. Go to **Integrations → BigoAds → Profiles**. 2. Find the profile with invalid or outdated credentials (it will typically show an error or warning). 3. Click **Edit** on the profile and enter the new API key and secret. 4. Save the changes. Data sync and automation resume immediately for all accounts assigned to that profile. You will receive notifications when a profile's credentials are invalid. If credentials are not updated promptly, all automation and data sync for accounts under that profile will silently stop. Check your integrations regularly after regenerating API keys in BigoAds. # BigoAds on TheOptimizer Source: https://docs.theoptimizer.io/ad-networks/bigoads/overview Connect BigoAds to TheOptimizer to monitor performance, automate optimization, and manage campaigns from one dashboard. TheOptimizer connects to BigoAds so you can monitor performance, automate optimization, and manage everything from one dashboard. You connect it using API credentials generated from the network's own settings. ## Set up BigoAds You connect it using API credentials generated from the network's own settings. Enable, disable, tag, and configure the BigoAds ad accounts you sync. ## Automate & launch Automation patterns that work across native networks like BigoAds. ## Shared tools you'll use Once your data is flowing, everything below works the same across every network: Monitor and act on all your campaigns, ad sets, and ads from one table. Learn how the rules engine, rule chains, and templates work. Track creative performance and reuse winning assets. See every automated action and change TheOptimizer makes. # Facebook Automation — All Available Rules Source: https://docs.theoptimizer.io/ad-networks/facebook/automation/overview All automation rule types available for Facebook campaigns in TheOptimizer — what actions you can automate, at which levels, and how they interact. TheOptimizer's automation engine runs against your Facebook campaigns on a schedule you define. Each rule evaluates a set of conditions and fires a specific action — or sends an alert — when those conditions are met. This page covers all the action types available for Facebook and how they work. ## Rule Levels Facebook rules can operate at three levels of your campaign hierarchy: | Level | What it acts on | Common use | | ---------------- | ------------------------------------------ | ---------------------------------------------------------- | | **Campaign** | The entire campaign | Pause on sustained losses, scale budget across all ad sets | | **Ad Set** | Individual ad sets (the most common level) | Real-time pausing, budget scaling, bid adjustments | | **Ad (Content)** | Individual ads/creatives | Pause underperforming variants, reactivate recovered ones | Most rules are written at the **ad set** level. Ad sets are the most actionable unit on Facebook — they control audience, budget, and delivery, and they can be independently paused or scaled without touching the rest of the campaign. *** ## Available Actions ### Pause / Start | Action | Level | Description | | -------------- | -------- | ---------------------------------------- | | Pause Campaign | Campaign | Stops delivery on the entire campaign | | Start Campaign | Campaign | Resumes a paused campaign | | Pause Ad Set | Ad Set | Stops delivery on a specific ad set | | Start Ad Set | Ad Set | Resumes a paused ad set | | Pause Content | Ad | Stops delivery on a specific ad/creative | | Start Content | Ad | Resumes a paused ad/creative | Pause rules are the most common in the dataset — 1,025 of 2,940 analysed rules pause ad sets. They are typically combined with spend thresholds or CPA conditions to stop losses before they compound. ### Budget Changes | Action | Level | Description | | --------------- | ------------------ | ----------------------------------------------- | | Increase Budget | Campaign or Ad Set | Increase budget by a fixed amount or percentage | | Decrease Budget | Campaign or Ad Set | Decrease budget by a fixed amount or percentage | | Set Budget | Campaign or Ad Set | Set budget to a specific value | Budget rules are typically triggered by ROI or CPA thresholds. Use percentage increases for proportional scaling; use fixed amounts for large-budget campaigns where percentage increases would be too aggressive. ### Bid Changes | Action | Level | Description | | ------------ | ------ | ------------------------------------------------------- | | Increase Bid | Ad Set | Increase the ad set bid by a fixed amount or percentage | | Decrease Bid | Ad Set | Decrease the ad set bid by a fixed amount or percentage | | Set Bid | Ad Set | Set the bid to a specific value | Bid adjustments are less common than budget changes (133 of 2,940 analysed rules). They are most effective when combined with strict ROI gates and Facebook pixel confirmation — bid up only when the algorithm has enough data to use the increased bid effectively. ### Clone (Duplicate) | Action | Level | Description | | ------------- | -------- | ------------------------------------------ | | Copy Ad Set | Ad Set | Duplicates a winning ad set into a new one | | Copy Campaign | Campaign | Duplicates a winning campaign | Cloning rules are intentional scaling tools, not accident triggers. They are typically scheduled to run every few days to avoid fragmenting budgets across too many copies at once. ### Alert Only | Action | Level | Description | | ------ | ----- | -------------------------------------------------------------- | | Alert | Any | Sends a notification without taking any action on the campaign | Alert-only rules are useful for monitoring conditions you want to review manually before acting — for example, detecting a tracking discrepancy between Facebook Results and tracker conversions. *** ## Available Condition Metrics ### Spend & Budget * **Amount Spent** — total spend in the selected time window * **Daily Budget** — the current daily budget allocation (supports dynamic comparisons like "80% of Daily Budget") * **Traffic Source CPA** — cost per acquisition as reported by Facebook ### Tracker Metrics (from your connected tracking platform) * **Tracker Conversions** — conversions reported by your tracker * **Tracker CPA** — cost per acquisition from your tracker * **Tracker ROI** — return on investment from your tracker * **Tracker Revenue** — revenue reported by your tracker * **Tracker EPC** — earnings per click from your tracker ### Facebook-Native Metrics * **Facebook Results** — conversions recorded by the Facebook pixel * **Avg. CPC** — average cost per click * **CPM** — cost per thousand impressions * **CTR** — click-through rate * **Frequency** — average number of times each person has seen your ad * **Video Average Play Time** — average seconds of video watched (for video ads) ### Campaign Properties * **Campaign Created At** — the date the campaign was created (useful for protecting new campaigns from premature pausing) * **Campaign Status** — current status (Active, Paused) * **Ad Set Status** — current status of the ad set * **Campaign.payout** — your configured payout for the campaign (enables rules like "CPA > 140% of Campaign.payout") ### Time Conditions * **Hour of Day** — trigger rules only during specific hours (e.g., pause at 22:00, resume at 08:00) * **Day of Week** — trigger rules only on specific days *** ## Data Intervals Rules evaluate conditions over a time window you choose: | Interval | Best for | | ---------------- | --------------------------------------------------------------------------- | | **Today** | Real-time guardrails — stop a bad ad set before it bleeds your daily budget | | **Last 2 days** | Short-term trend detection without single-day noise | | **Last 3 days** | The standard scaling window — enough data, responsive enough to act | | **Last 7 days** | Weekly performance assessment — cut or scale on proven patterns | | **Last 14 days** | Sustained performance analysis | | **Last 30 days** | Long-term campaign health checks | 53% of Facebook rules analysed use **Today** as the data interval — real-time monitoring is the dominant pattern on this platform. *** ## Scheduling Rules can be scheduled to run: * **Immediately** (as soon as conditions are met, evaluated every few minutes) * **Every N hours** (e.g., every 2 hours) * **Once daily** at a specified time * **On specific days** of the week Immediate execution is typical for loss-protection rules. Daily scheduling is typical for budget scaling. Cloning rules typically run every 3 days. *** ## Popular Rule Patterns For ready-to-use rule templates with specific conditions and thresholds, see [Popular Rules — Facebook](/ad-networks/facebook/automation/popular-rules). That page covers 23 proven patterns across same-day guardrails, budget scaling, CPA optimisation, reactivation, bid adjustments, and creative rotation. # Facebook Automation Rules: Popular Patterns Source: https://docs.theoptimizer.io/ad-networks/facebook/automation/popular-rules Facebook rule patterns from 2,940 real rules — same-day guardrails, budget protection, CPA scaling, bid control, reactivation, and creative optimization. These patterns come from analyzing 2,940 real Facebook automation rules deployed by top media buyers. They reveal how professionals protect budgets, scale winners, and outsmart campaign fatigue. What follows are the conditions, thresholds, and sequences that separate profitable campaigns from budget bleed. Start with the same-day guardrails, then layer in scaling rules once performance stabilizes. *** ## Same-Day Guardrails — Stop Underperformers Before They Bleed 53% of all Facebook rules in the dataset fire on today's data. Real-time reaction is essential on Facebook — a bad ad set discovered at 8 AM can cost you thousands by 5 PM. ### Rule 1: Pause Ad Sets Over 80% of Daily Budget The single most common rule pattern across 1,025 analyzed pause actions. This fires when a single ad set is burning through your daily allocation — a sign of either success (good) or audience inflation (bad). Either way, pause and investigate. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------ | --------------------------- | ------------------- | | Amount Spent | is Greater than | 80% of Daily Budget | | Amount Spent | is Greater than or Equal to | 25 | **Action:** Pause Facebook Ad Set For a $100 daily budget, this pauses at $80 — enough data to see performance, not enough to crater your day. The \$25 floor prevents noise on low-budget accounts. *** ### Rule 2: Pause Ad Set When CPA Exceeds Campaign Target This pairs cost data with your actual payout. Simple rule, massive impact. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------ | --------------- | --------------------- | | Amount Spent | is Greater than | 20 | | Tracker CPA | is Greater than | Campaign.payout × 1.4 | **Action:** Pause Facebook Ad Set You're comparing actual profitability, not arbitrary thresholds. An ad set with CPA at 140% of payout is burning 40 cents on every dollar earned. For a $10 payout offer, this triggers at $14 CPA. *** ### Rule 3: Pause Ad Set with Zero Conversions After \$50 Spend This catches broken creatives and mismatched audiences in a single day. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------------- | --------------- | ----- | | Amount Spent | is Greater than | 50 | | Tracker Conversions | Equals | 0 | **Action:** Pause Facebook Ad Set \$50 without a conversion means something is fundamentally wrong — bad landing page, wrong audience, or creative fatigue. Pause now; don't wait for more data to bleed. *** ### Rule 4: Pause Ad Set with Negative ROI and High Spend A belt-and-suspenders approach for same-day losses. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------ | --------------------------- | ----- | | Amount Spent | is Greater than or Equal to | 75 | | Tracker ROI | is Less than | -10% | **Action:** Pause Facebook Ad Set If you've spent \$75+ and ROI is negative, you're losing money now. The -10% threshold is conservative — it catches minor losses to protect cash flow before they compound. *** ## Campaign Age Filters — Protect New Launches This pattern appears in hundreds of sophisticated rules: gate optimizations by campaign age. Never fully optimize campaigns younger than 2–3 days. You need baseline data first. ### Rule 5: Only Optimize Campaigns Older Than 3 Days This is the framework rule — combine it with aggressive pausing and scaling rules to protect fresh launches from being killed prematurely. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------------- | --------------- | ------------ | | Campaign Created At | is Less than | now - 3 days | | Amount Spent | is Greater than | 50 | | Tracker ROI | is Less than | -20% | **Action:** Pause Facebook Ad Set New campaigns need 48–72 hours to stabilize. This rule says "only pause if negative ROI, but only for campaigns running 3+ days." You avoid panicking and killing promising fresh campaigns before they find their footing. *** ### Rule 6: Monitor New Campaigns for Early Red Flags A gentler version for new launches — trigger on zero conversions, not ROI. **Platform:** Facebook | **Data Interval:** Last 2 days | **Scheduling:** Immediate | Metric | Condition | Value | | ------------------- | --------------------------- | ------------ | | Campaign Created At | is Greater than or Equal to | now - 2 days | | Amount Spent | is Greater than | 25 | | Tracker Conversions | Equals | 0 | **Action:** Pause Facebook Ad Set New campaigns get gentler treatment — pause on zero conversions (a hard stop), but not on soft ROI misses. This catches broken setups without killing early winners that simply haven't converted yet. *** ## Dynamic Budget Protection — Cost vs. Daily Budget 53% of rules use dynamic comparisons. Instead of hardcoded dollar thresholds, you compare spend to available budget. This scales automatically as your budgets grow. ### Rule 7: Pause at 80% Daily Budget (Safe Mid-Day Check) Check whether you're burning too fast relative to your daily allocation. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------ | --------------------------- | ------------------- | | Amount Spent | is Greater than or Equal to | Daily Budget × 0.80 | **Action:** Pause Facebook Ad Set Scales automatically. A $50 daily budget pauses at $40. A $500 daily budget pauses at $400. Same protective ratio, no manual threshold tuning required. *** ### Rule 8: Overspend Protection at 250% Daily Budget Rare, but it happens. Pause if you're massively overshooting in a single day. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------ | --------------------------- | ------------------ | | Amount Spent | is Greater than or Equal to | Daily Budget × 2.5 | **Action:** Pause Facebook Campaign This is your "oh no" level. If an ad set has burned 2.5× its daily allocation in one day, something catastrophic happened — pixel fired offline, audience targeting exploded, etc. Kill the whole campaign immediately and investigate. *** ### Rule 9: Mid-Day Budget Check at 50% Daily Budget Early warning before things spiral. Fire at the halfway point. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------ | --------------------------- | ------------------- | | Amount Spent | is Greater than or Equal to | Daily Budget × 0.50 | | Tracker ROI | is Less than | -5% | **Action:** Pause Facebook Ad Set You're at 50% spend with negative ROI. If the pattern holds, you'll hit -10% or worse by day's end. Pause now and save the second half of your daily budget. *** ## CPA vs. Payout Comparisons — Scale Profitably The second-most common condition signature across all analyzed rules: pair CPA with campaign payout. This is how you identify which campaigns to scale and which to kill — using your actual economics, not arbitrary numbers. ### Rule 10: Scale Ad Set — CPA Under 99% of Payout A profitable scale trigger. CPA at 99% or lower means healthy margin. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Daily | Metric | Condition | Value | | ------------ | --------------------------- | ---------------------- | | Amount Spent | is Greater than or Equal to | 50 | | Tracker CPA | is Less than | Campaign.payout × 0.99 | | Tracker ROI | is Greater than or Equal to | 5% | **Action:** Change Budget (+20%) You're tracking profitably — CPA below payout and positive ROI. Scale aggressively. For a $10 payout, this triggers when CPA stays under $9.90. *** ### Rule 11: Super-Profitable Scaling — CPA Under 70% of Payout When CPA is dramatically low relative to payout, you're printing money. Scale hard. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Daily | Metric | Condition | Value | | ------------ | --------------------------- | ---------------------- | | Amount Spent | is Greater than or Equal to | 75 | | Tracker CPA | is Less than | Campaign.payout × 0.70 | **Action:** Change Budget (+40%) CPA at 70% of payout leaves 30% margin — that's premium profitability. Increase 40%, then monitor CPM and CPC the next day. If metrics hold, increase again. *** ### Rule 12: Pause When CPA Exceeds 140% of Payout You're losing 40 cents per dollar earned. Pause immediately. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------ | --------------- | ---------------------- | | Amount Spent | is Greater than | 30 | | Tracker CPA | is Greater than | Campaign.payout × 1.40 | **Action:** Pause Facebook Ad Set This is the loss threshold. Anything above 140% of payout and you're underwater. For $15 payouts, pause at $21 CPA. *** ## Tiered Budget Scaling — ROI-Based Growth Sophisticated media buyers don't scale uniformly. They tier increases based on ROI ranges. This creates rapid growth on best performers while protecting budgets on marginal ones. ### Rule 13: Moderate ROI — 20% to 50% ROI ROI in the 20–50% range is solid. Increase budget moderately and cap at a ceiling to avoid overcommitting on marginal performers. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Daily | Metric | Condition | Value | | ------------ | --------------------------- | ----- | | Amount Spent | is Greater than or Equal to | 50 | | Tracker ROI | is Greater than or Equal to | 20% | | Tracker ROI | is Less than | 50% | **Action:** Change Budget (+20%, max \$200) +20% increase with a total budget cap of \$200. This scales solid performers without overcommitting to unproven winners. You get growth but with guardrails. *** ### Rule 14: Strong ROI — 50% to 80% ROI This is the sweet spot. Scale more aggressively. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Daily | Metric | Condition | Value | | ------------ | --------------------------- | ----- | | Amount Spent | is Greater than or Equal to | 50 | | Tracker ROI | is Greater than or Equal to | 50% | | Tracker ROI | is Less than | 80% | **Action:** Change Budget (+40%, max \$250) +40% increase on proven winners, capped at \$250. By tomorrow, you'll know whether higher spend maintains efficiency. *** ### Rule 15: Exceptional ROI — 80%+ ROI This is your best performer. Scale hard, but use static amounts for budgets over \$200 to limit risk. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Daily | Metric | Condition | Value | | ------------ | --------------------------- | ----- | | Amount Spent | is Greater than or Equal to | 50 | | Tracker ROI | is Greater than or Equal to | 80% | **Action:** Change Budget (+$50 flat) or (+50% if budget is under $200) For budgets $50–$200, use +50%. For budgets over $200, use +$50 flat — static increases scale proportionally slower, reducing algorithm fragility. This lets runaway winners accelerate without blowing up delivery. *** ## Facebook-Native Conversions — Optimize for Pixel Data Sophisticated rules use Facebook Results (Facebook pixel conversions) to gate scaling. You want to scale campaigns that Facebook's own algorithm is recognizing — not just ones your tracker sees. ### Rule 16: Scale Only When Facebook Pixel Fires Don't aggressively scale until Facebook sees conversions directly. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Daily | Metric | Condition | Value | | ---------------- | --------------------------- | ----- | | Amount Spent | is Greater than or Equal to | 50 | | Facebook Results | is Greater than or Equal to | 3 | | Tracker ROI | is Greater than or Equal to | 15% | **Action:** Change Budget (+20%) Facebook Results >= 3 means Facebook's algorithm has seen conversions and can optimize delivery. This gates scaling behind actual pixel data, not just tracker conversions — resulting in better ongoing campaign performance. *** ### Rule 17: Pause When Facebook Pixel Sees No Results If you've spent \$40 with zero Facebook conversions, something is wrong. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ---------------- | --------------- | ----- | | Amount Spent | is Greater than | 40 | | Facebook Results | Equals | 0 | **Action:** Pause Facebook Ad Set Your pixel isn't firing. Either your conversion event is misconfigured, your landing page is missing the pixel, or your audience is fundamentally mismatched. Pause and debug before spending more. *** ## Reactivation — Give Paused Winners a Second Chance You paused things that were underperforming. But campaigns improve — audiences shift, competition changes, and landing pages get updated. These rules reactivate winners when the data warrants it. ### Rule 18: Restart When CPA Returns to Profitability Ad set status is Paused and CPA now looks good. Start it back up. **Platform:** Facebook | **Data Interval:** Last 3 days | **Scheduling:** Daily | Metric | Condition | Value | | ------------- | --------------- | ---------------------- | | Ad Set Status | Equals | PAUSED | | Amount Spent | is Greater than | 25 | | Tracker CPA | is Less than | Campaign.payout × 0.95 | **Action:** Start Facebook Ad Set Campaigns recover. If you paused an ad set and it's now profitably close to payout, give it another shot. The 3-day window gives you recent data without waiting forever. *** ### Rule 19: Restart Campaigns at Positive ROI Pause campaigns when negative. Restart when they recover. **Platform:** Facebook | **Data Interval:** Last 7 days | **Scheduling:** Daily | Metric | Condition | Value | | --------------- | --------------------------- | ------ | | Campaign Status | Equals | PAUSED | | Amount Spent | is Greater than | 50 | | Tracker ROI | is Greater than or Equal to | 5% | **Action:** Start Campaign A campaign spending \$50+ at positive ROI — even weak positive — deserves another chance. You'll generate meaningful data for scaling decisions. Monitor closely for the first 24 hours after reactivation. *** ## Ad-Level Pausing — Creative Optimization 248 rules in the dataset pause individual content (ads and creatives). This is how you kill underperforming variants without nuking entire ad sets. Surgical approach beats blunt-force pausing. ### Rule 20: Pause Losing Creative — High CPA + Negative ROI This fires on individual content. CPA is up and ROI is negative. **Platform:** Facebook | **Data Interval:** Today | **Scheduling:** Immediate | Metric | Condition | Value | | ------------ | --------------- | ---------------------- | | Amount Spent | is Greater than | 30 | | Tracker CPA | is Greater than | Campaign.payout × 1.40 | | Tracker ROI | is Less than | -5% | **Action:** Pause Facebook Content You're pausing specific creative variants, not entire ad sets. This lets winning creatives stay live while killing underperformers. Run multiple creatives per ad set to make this pattern effective. *** ## Bid Adjustments — Squeeze More Volume Only 133 rules in the dataset use bid adjustments — they're rare but potent when deployed correctly. Always pair bid changes with strict ROI and CPC gates. ### Rule 21: Aggressive Bid Increase on High ROI ROI >= 30% and meaningful spend? Bid up to capture more impressions. **Platform:** Facebook | **Data Interval:** Last 2 days | **Scheduling:** Daily | Metric | Condition | Value | | ---------------- | --------------------------- | ----- | | Amount Spent | is Greater than | 100 | | Tracker ROI | is Greater than or Equal to | 30% | | Facebook Results | is Greater than or Equal to | 5 | **Action:** Change Bid Facebook Ad Set (+15%) A +15% bid increase typically lifts volume 20–40%. You're gating it behind high ROI and actual pixel conversions, so you know Facebook's algorithm is working in your favor. *** ### Rule 22: Bid Reduction for Underperformers CPC is creeping up and ROI is declining. Lower bids to rebalance. **Platform:** Facebook | **Data Interval:** Last 2 days | **Scheduling:** Daily | Metric | Condition | Value | | ------------ | --------------- | ----- | | Amount Spent | is Greater than | 50 | | Tracker ROI | is Less than | 10% | | Avg. CPC | is Greater than | 1.50 | **Action:** Change Bid Facebook Ad Set (-15%) High CPC combined with low ROI signals audience fatigue or audience expansion gone wrong. Lower bids to throttle volume and refocus on higher-intent audiences before you pause entirely. *** ## Duplication & Scaling — Clone Winners Only 57 rules copy ad sets and 34 copy budgets across the entire dataset. These rules are about intentional creative scaling, not accident. Clone after you have proof, not hope. ### Rule 23: Duplicate High-Profit Creative Clone creatives that are profitable and spending well. **Platform:** Facebook | **Data Interval:** Last 3 days | **Scheduling:** Every 3 days | Metric | Condition | Value | | ------------ | --------------- | ---------------------- | | Amount Spent | is Greater than | 75 | | Tracker ROI | is Greater than | 50% | | Tracker CPA | is Less than | Campaign.payout × 0.80 | **Action:** Copy Facebook Ad Set Duplicates fight ad fatigue by creating fresh variants with independent budgets and bid history. You're cloning proven winners, not guessing. The 3-day interval lets the original accumulate spend before spinning up the clone — this reduces budget fragmentation and algorithm disruption. *** ## Summary — The Real Patterns The 2,940 rules analyzed reveal a clear hierarchy: 1. **Real-time is king.** 53% of rules fire on today's data. Facebook moves fast; your rules need to move faster. 2. **Dynamic thresholds scale with you.** Use percentages of daily budget and payout, not hardcoded dollar amounts. 3. **Protect new campaigns.** Gate optimizations by campaign age (3+ days) to avoid killing fresh winners before they stabilize. 4. **Compare CPA to payout.** The most common condition pairing — it tells you profitability, not just cost. 5. **Tier your scaling.** ROI bands of 20–50%, 50–80%, and 80%+ deserve different scaling strategies. 6. **Use Facebook pixel data.** Gate scaling behind actual Facebook Results, not just tracker conversions. 7. **Reactivate winners.** Paused campaigns recover. Check weekly for redemption opportunities. 8. **Pause creatives, not campaigns.** Kill underperforming ads without nuking ad sets — 248 rules do this. 9. **Bid adjustments are surgical.** Only when ROI is high and pixel is firing; rarely used correctly by beginners. 10. **Duplicate on proof, not hope.** Clone after 75+ spent with strong ROI, every 3 days. Monitor CPM and CPC daily — they'll tell you when audience quality is degrading and when it's time to pull back before losses accumulate. # Attach Automation & Publish Source: https://docs.theoptimizer.io/ad-networks/facebook/campaign-uploader/automation-review The final step before launch — attach automation rules to your campaigns, review the full list, and publish. The final step before publishing is **Add Automation & Publish**. *** ## Attach Automation Rules At the top of this step you can attach any existing TheOptimizer automation rules to the campaigns you are about to launch. Select rules from the dropdown or search by name. Multiple rules can be attached at once. Attached rules start evaluating immediately once the campaigns go live. If you skip this step, you will need to go to the **Rules** section afterward and manually apply your automation logic to the new campaigns — and in the meantime, campaigns may overspend or underperform without the safety nets your rules provide. *** ## General Information A summary card shows the following for everything you are about to publish: * Number of campaigns to be created * Total allocated daily budget * Number of ad sets * Number of ad set variations * Audience targeting variations * Number of ads *** ## Preview Campaign List A list of every campaign that will be created, showing the campaign name and the structure within it (for example, "Campaign with (1) Ad Sets and (1) Ads"). Review this list carefully — it is your final check before campaigns are pushed to Facebook. *** ## Publish Once everything looks correct, click **Publish**. All campaigns are submitted to the **Campaign Creation Queue**, where you can monitor their progress. You will also receive email notifications for the status of the operation. If any single item within a campaign fails to be created — even one ad out of many — the entire operation is marked as failed. TheOptimizer does not create partial campaigns. Use the Queue's **Retry** button if the failure was caused by a transient error, or check **Details** to see which specific item caused the issue. # Upload to an Existing Campaign Source: https://docs.theoptimizer.io/ad-networks/facebook/campaign-uploader/existing-campaign Add new ad sets or ads to a live or paused Facebook campaign without touching what is already running. You can use the Facebook Campaign Launcher to bulk upload new ad sets or ads to an existing campaign — without touching anything that is already live. Use this when you want to expand an active or paused campaign — add fresh creatives to an existing ad set, or launch a new ad set into a campaign that is already running — without rebuilding from scratch or going through Facebook Ads Manager. *** ## Loading an Existing Campaign Open the Facebook Campaign Launcher and select your **Ad Account**. Below the ad account selector, two options appear: **+ Create new campaign** (default) and **Use existing campaign**. Click **Use existing campaign**. A search box appears. Search for the campaign by name or ID, then click on it from the list. Once loaded, the campaign and all its existing ad sets and ads are visible in the left panel tree. Select Ad Account — Use existing campaign tab showing searchable campaign list Everything that already exists in the campaign is **read-only** — you cannot edit existing ad sets or ads. The lock icon on existing items in the tree makes this clear. You can only add new items. *** ## Working with Existing Ad Sets Once an existing campaign is loaded, clicking the three-dot menu (⋯) on any existing ad set in the left panel tree reveals several actions: Ad set context menu — Create Ad, Clone Ad Set, Copy Ad Set, Copy All Ads, and FB ID options | Option | What it does | | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | **Create Ad** | Adds a new ad inside this existing ad set. You can upload creatives and generate variations from it. | | **Clone Ad Set** | Creates a full copy of this ad set (including its ads) as a new, editable ad set within the same campaign. | | **Copy Ad Set** | Copies the ad set settings to the clipboard so you can paste them into another campaign loaded in the launcher. | | **Copy All Ads** | Copies all ads from this ad set so you can paste them into a new ad set in another campaign. | | **FB ID** | Displays the Facebook ID of this ad set and provides a one-click copy button. Useful for referencing the ad set in scripts, rules, or external tools. | *** ## Adding a New Ad Set In the left panel, click the three-dot menu (⋯) on the campaign and select **Create Ad Set**. A new ad set is added to the tree. Configure it as you would when creating a fresh campaign — targeting, budget, placements — then go to the ad level to upload creatives and generate variations. *** ## Adding New Ads to an Existing Ad Set Click on the existing ad set in the left panel, open its three-dot menu (⋯), and select **Create Ad**. From this single ad entity, you can upload multiple creatives and generate variations exactly as you would when creating a new campaign. *** ## Cloning Instead of Creating from Scratch If the new ad set or ad you want to add is similar to an existing one, use **Clone Ad Set** instead of **Create Ad Set**. Cloning copies all the settings — targeting, placements, ad copy, creatives — which you can then adjust as needed. This is faster than configuring everything from scratch when only a few things are changing. # Create Ads Using Existing Posts Source: https://docs.theoptimizer.io/ad-networks/facebook/campaign-uploader/existing-posts Use previously published Facebook posts as ad creatives to preserve accumulated social proof — likes, comments, and shares — across your campaigns. When you create a new ad in the Campaign Launcher, the default flow is to upload images or videos and let the system create new ad posts. But if the content you want to run has already been published as a Facebook post — and has accumulated social proof (likes, comments, shares) — you can use that existing post as the ad creative instead of creating a new one. Using existing post IDs preserves social proof. An ad running from a post that already has hundreds of comments and reactions performs differently — and often better — than a brand-new post with zero engagement. *** ## How to Use an Existing Post At the **Ad level**, after selecting your Facebook Page and Instagram Account, you will see a selector with two options: **Create an ad** (the default) and **Use an existing post**. Select **Use an existing post**. Use existing post — browse posts or paste a Post ID Two ways to find and add posts: * **Browse posts** — opens a searchable panel showing all posts available to the selected ad account. You can search by post ID, message text, or other post elements. The list shows post type (image, video, etc.), whether it is a published or ads post, share count, and creation date. * **Paste a Post ID** — if you already know the post ID, paste it into the field and click **Add**. Select one or more posts. Each post selected creates a separate ad — the same way each uploaded image or video creates a separate ad in the standard flow. Set the **Call to Action** for these ads. *** ## Using Groups with Post IDs The group mechanism is available in the existing post section as well. This lets you create batches of post-based ads with different settings — for example, one group using "Learn More" as the CTA and another group using "Shop Now". Each group generates its own set of ad variations from the same posts, letting you test CTA performance while preserving the social proof on each post. # Getting Started — Overview Source: https://docs.theoptimizer.io/ad-networks/facebook/campaign-uploader/getting-started The Facebook Mass Campaign Uploader interface — the three panels, the campaign tree, and the three-step launch flow. To open the Facebook Mass Campaign Uploader, go to **Campaign Creator** in the left-hand navigation menu and click the **Facebook** card. This opens the launcher in a full-screen dialog. *** ## The Three Panels **Left panel — Campaign tree.** A tree structure showing your campaign hierarchy: Campaign → Ad Set → Ad. Click any level to navigate to its settings. Use the three-dot menu (⋯) on any item to duplicate, create new, or rename. **Centre panel — Settings.** This is where you configure everything for the currently selected level. The options mirror what you see in Facebook Ads Manager — campaign objective, budget, audience targeting, placements, creatives, and so on. **Right panel — My Space & Variation Preview.** Two tabs: * **My Space** — contextual helpers that change based on which level you are on. At the campaign level you see saved templates. At the ad set level you see recently used targeting configurations you can apply with one click. At the ad level you see your most recently active ads that you can reuse. * **Variation Preview** — a live counter showing how many campaigns, ad sets, and ads will be created based on your current configuration, including any groups and restructuring settings you have applied. *** ## The Three-Step Launch Flow At the bottom of the screen, a progress bar shows the three main steps: **1. Create Campaign** — configure the campaign, ad set, and ad settings. Upload your creatives and define any groups (multiple audiences, budgets, placements, etc.). At the very beginning of this step, you also define your **campaign structure** and **ad set structure** — deciding upfront how variations will be distributed across campaigns and ad sets. **2. Review Variations** — a full-screen summary of everything that will be created. A header row of information cards shows totals (campaigns, ad sets, budgets, ads, headlines, descriptions). Below is the complete campaign tree — Campaign → Ad Set → Ad — with toggle switches to enable or disable individual variations and naming templates visible throughout. No restructuring is done here; that has been moved to Step 1. **3. Add Automation & Publish** — attach automation rules to your campaigns before they go live, review the full campaign list, and click Publish. *** ## Starting From a Template If you have previously saved a campaign template, you do not need to configure everything from scratch. At the campaign level, open the **My Space** tab on the right panel and click **Apply Template** next to the template you want to load. The entire structure — campaign settings, ad sets, ads, groups, restructuring settings, and automation assignments — loads instantly. From there, you typically only need to swap in new creatives, adjust a budget, or update the ad account. See [Save Your Work as a Template & Reuse](/ad-networks/facebook/campaign-uploader/templates) for details on creating and managing templates. *** ## Next Steps * [Creating a Simple Campaign](/ad-networks/facebook/campaign-uploader/simple-campaign) — configure a campaign with one ad set and multiple ads * [Generating Variations](/ad-networks/facebook/campaign-uploader/variations) — use groups, restructuring, and duplication to generate dozens or hundreds of variations * [Multi-Ad Account Launch](/ad-networks/facebook/campaign-uploader/multi-account) — launch the same structure across multiple ad accounts # Multi-Ad Account Upload Source: https://docs.theoptimizer.io/ad-networks/facebook/campaign-uploader/multi-account Upload the same campaign structure across multiple Facebook ad accounts in a single publish operation. If your strategy involves testing the same campaigns across multiple Facebook ad accounts — to diversify delivery, take advantage of the learning phase independently per account, or reduce Facebook's initial randomness — the Campaign Creator supports this natively. Multi-account campaign tree — Campaign 1 and Campaign 1 - Copy, each assigned to a different ad account