Browse the docs

Agent setup guide

Ad Performance Reviewer

Weekly AI review of your Google, Meta and LinkedIn ad numbers against your targets.

Available About 20 min to set up

What it does

Weekly AI review of your Google, Meta and LinkedIn ad numbers against your targets.

  • Every Monday, reads the Google Sheet tab where your Google Ads, Meta, LinkedIn (or other) ad exports land.
  • AI works out CTR, CPC, CPA and ROAS per campaign, ad set or ad and compares them with the targets you set.
  • Every CTR, CPC, CPA, ROAS and total (spend, conversions, revenue, blended CPA and ROAS) is recalculated in code before anyone sees it — never by the AI; anything the AI got wrong is corrected and flagged in the run.
  • Recommends what to pause, what to scale, which creatives look fatigued, up to three budget shifts, and flags tracking that looks broken, quoting your numbers.
  • Emails the full review to the person who manages your ads, and posts ads wasting money right now to Slack.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Google Sheets and Slack, connected in Settings → Integrations.
  • Your ad numbers in a Google Sheet tab, refreshed each week (Google Ads scheduled reports or a Sheets add-on, or a Meta / LinkedIn export pasted in).

What it doesn't do

  • It doesn't connect to Google Ads, Meta or LinkedIn, so it can't pull data or change campaigns, budgets or ads; you make the changes.
  • It only sees the columns in your sheet: no audiences, placements or creative images unless they're there.
  • Its recommendations are only as reliable as your conversion tracking and the amount of data per row.

Availability and plans

Available

Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.

Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.

Before you start

  • A paid plan: agents run live, and the Free plan only runs Dry Runs.
  • An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
  • These apps, connected in Settings → Integrations: Google Sheets and Slack.
  • Nothing to send: the agent runs on a schedule.
  • About 20 minutes.

Set it up step by step

Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.

1. Connect your AI provider

The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.

2. Connect Google Sheets

Connect the Google account that can open your ad performance sheet (Settings → Integrations → Google Sheets).

3. Connect Slack

Connect the Slack workspace your marketing team uses (Settings → Integrations → Slack).

4. Pick the ad performance sheet

Open “Read your ad performance sheet”, pick your Google account, paste the spreadsheet link and choose the tab with last period's numbers.

SettingWhat to enterIn step
Google accountThe Google account that can open your ad performance sheet. Pick your connected Google Sheets account.“Read your ad performance sheet”
Ad performance spreadsheetPaste the link of the spreadsheet your ad exports land in.“Read your ad performance sheet”
Tab with last period's numbersThe tab whose first row is the header (Platform, Campaign, Ad set, Ad, Spend, Impressions, Clicks, Conversions, Revenue, and Frequency if you have it), e.g. “Last 7 days”.“Read your ad performance sheet”

5. Describe your goals and targets

Open “Find waste, winners and fatigue” and replace the placeholder with your conversion, target CPA / ROAS and budgets.

SettingWhat to enterIn step
Your goals, targets and budgetReplace the placeholder with what a conversion is for you, your target CPA and/or ROAS, your weekly or monthly budget per platform, and anything off-limits (e.g. brand campaigns are never paused). It starts as “[DESCRIBE YOUR GOALS, TARGETS AND BUDGET HERE]” until you replace it.“Find waste, winners and fatigue”

6. Choose who gets the review

Open “Email the review” and enter the address of the person who manages your ads.

SettingWhat to enterIn step
Who gets the weekly reviewReplace the example address with the email (or up to 5, comma-separated) of the person who manages your ads. It starts as “you@your-company.example” until you replace it.“Email the review”

7. Pick the Slack account and channel

Open “Alert the team in Slack” and pick your account and channel. Invite the app to private channels first (/invite @Fluxo Flow).

SettingWhat to enterIn step
Slack accountThe Slack workspace wasted-spend alerts are posted to. Pick your connected Slack account.“Alert the team in Slack”
Slack channel for alertsPick the channel your marketing team watches, e.g. #paid-ads.“Alert the team in Slack”

8. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

9. Switch the trigger on

Open the trigger, set your time zone and switch the schedule on. It runs every Monday at 8:00.

How it works

The agent is a normal workflow with 8 steps (1 AI step). You can open, edit and monitor it like any other workflow.

  • Every Monday at 8:00 — Runs on a schedule (cron 0 8 * * 1, UTC — change it in the trigger's settings). Runs once a week, after last week's numbers are in the sheet. Switch it to daily if your export refreshes daily.
  • Read your ad performance sheet — Google Sheets: Read rows. Reads the tab where your Google Ads, Meta and LinkedIn exports land: campaign, ad set, ad, spend, impressions, clicks, conversions and value.
  • Find waste, winners and fatigue — AI step (runs on your AI provider key). AI works out CTR, CPC, CPA and ROAS per row (rechecked in code in the next step), compares them with your targets and writes prioritized recommendations: what to pause, scale, refresh and where to move budget.
  • Check the math — Step. Recalculates every row's CTR, CPC, CPA and ROAS and the total spend, conversions, revenue, blended CPA and ROAS in code — not by AI — writes the correct figures into the review and the Slack alert, and flags anything the AI got wrong.
  • Email the review — Sends an email from your workspace's sender. Emails the full review with the recommended changes to your marketing lead.
  • Money being wasted? — Decision: picks the branch to follow. When an ad is spending well over your target with no conversions, or tracking looks broken, the team also gets a Slack alert.
  • Alert the team in Slack — Slack: Post a message. Branch: Needs action. Posts the ads wasting money and any tracking problems to your marketing channel.
  • Nothing urgent — Kept in the run history. Branch: Nothing urgent. The run history keeps the review for your records.

Test it with Dry Run

Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.

Go live

  • Open the trigger, set your time zone and switch the schedule on. It runs every Monday at 8:00.
  • Scheduled runs start only once the schedule is activated, and can't repeat faster than your plan's minimum interval.
  • The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
  • When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.

Questions

Does it change my ads?

No. It has no access to your ad accounts. It reads your exported numbers and recommends changes; you make them.

Can I run it daily?

Yes, if your sheet refreshes daily: change the trigger's schedule.

Troubleshooting

  • “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
  • A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
  • An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
  • Slack says the app isn't in the channel: in Slack, type /invite @Fluxo Flow in that channel (always needed for private channels).
  • It didn't run at the expected time: the schedule must be activated, and its time is in the trigger's timezone.
  • A step failed: open the run in History and check that step in the Trace tab for the error and what it received.

Generated from the agent's own workflow, so it always matches what the agent does. Last updated .