Home>Build your own ads agent>Weekend underspend workflow

Find Google Ads Campaigns Capped on Weekdays and Underspending at Weekends

By Ahmed Ashraf|Updated 29 September 2026

Written by PaidSync's founder. This page describes one of PaidSync's ready-made workflows, from its code. We checked the other options on their own pages on 29 September 2026.

Google Ads Claude

The weekend-underspend workflow ships with PaidSync and finds Google Ads campaigns whose budget seems to cap them on weekdays while they spend well under it at weekends. For each enabled campaign with a daily budget, it reads daily spend for the last 28 days, divides each day's spend by the campaign's current daily budget, and averages that for weekdays and, separately, for Saturday and Sunday. It flags a campaign when the weekday average is at least 85% of budget and the weekend average is at most 65%. To run it, connect PaidSync to Claude or ChatGPT and ask it to run the PaidSync weekend-underspend workflow. It only reads, a run counts as one task, and it works on every plan.

Its suggestion for a flagged campaign is to consider a higher weekend bid adjustment or daily budget; it changes nothing itself. It uses today's budget for every day in the window, so a budget changed during the window skews the result. Disclosure: PaidSync publishes this page.

What the weekend underspend workflow checks

The workflow is a few lines of code. This is all of it, in plain words.

  1. If you name an account, it runs on that account. Otherwise it uses your active Google Ads account.
  2. It lists the campaigns and keeps the enabled ones.
  3. It runs one read-only GAQL query for each campaign's cost per day, with the day of the week, over the window.
  4. For each enabled campaign with a daily budget above zero, it divides each day's spend by that budget.
  5. It averages those shares for weekdays and, separately, for Saturday and Sunday.
  6. It flags the campaign when the weekday average is at least the weekday threshold, the weekend average is at most the weekend threshold, and the window has data for both.

Settings you can change

Every setting is optional. Leave one out and the workflow uses the default below. Amounts are in the account's own currency.

SettingDefaultWhat it does
account_idYour active accountThe Google Ads account to check.
lookback_days28How many days back to read, up to 60.
weekday_min_pacing0.85Weekday spend as a share of budget at or above which a campaign counts as capped, from 0 to 2.
weekend_max_pacing0.65Weekend spend as a share of budget at or below which a campaign counts as underspending, from 0 to 2.

What it returns

The flagged campaigns and how many were scanned:

  • flagged_count and campaigns_scanned.
  • flagged: each campaign's name and ID, its weekday and weekend averages as a share of budget, its daily budget, and a short note on the opportunity.

How to run it

In a chat. Connect PaidSync to Claude from Claude's connector directory, or to ChatGPT from its Plugins, connect Google Ads, then ask:

"Run the PaidSync weekend-underspend workflow on my Google Ads account for the last 28 days."

Claude calls paidsync_workflows_run with the workflow's name and your settings. Setup is in how to connect Google Ads to Claude.

From your own agent or code. Call the same tool on https://mcp.paidsync.ai/mcp:

paidsync_workflows_run({ name: "weekend-underspend", params: { account_id: "123-456-7890", lookback_days: 28 } })

On a schedule. Because it only reads, it is safe to run unattended, for example every Monday before you plan the weekend. A Claude Code routine can run it as often as hourly on a paid Claude plan, or your own cron job can call it. PaidSync does not run it on a timer by itself.

Cost. A run counts as one PaidSync task, whatever it calls inside. The Free plan has 15 tasks a month with no credit card, and runs this workflow. Pro starts at $99 a month for 600 tasks.

Free for 15 tasks a month with no credit card, then priced by usage, from $99 a month for 600 tasks.

Start Free See a Demo

Limits to know

  • It uses each campaign's current daily budget for every day in the window, so a budget changed during the window skews the shares.
  • For campaigns on a shared budget, each campaign's spend is compared with the whole shared budget, so they can look underspent.
  • A campaign with no weekend data, for example one scheduled for weekdays only, is not flagged.
  • It reports and suggests. It does not change bids, budgets or ad schedules.
  • Google Ads alone.

Other ways to do this job

Checked on 29 September 2026, on each option's own pages.

  • Google Ads ad schedules. Google's ad scheduling lets you choose the hours and days your ads show and set bid adjustments for specific days and times.
  • Google's own Google Ads MCP server. It can run the same daily cost query with the day of the week in GAQL. Google says it is strictly read-only, and you host it yourself.
  • Budget pacing in a chat. PaidSync's get_budget_pacing compares this month's spend with a monthly budget you give it, and projects month-end spend from the daily budgets switched on now.

What to do with the results

For a flagged campaign, look at weekend conversions before you spend more: weekend demand only helps if it converts. If it does, a weekend bid adjustment in the ad schedule or a budget change are the usual levers. In a chat, PaidSync previews a budget change before it applies it.

Frequently asked questions

What does weekend underspend mean here?

A campaign that spends at least 85% of its daily budget on an average weekday but at most 65% of it on an average Saturday or Sunday, over the last 28 days. Both thresholds can be changed.

Does the workflow change bids or budgets?

No. It only reads daily spend and budgets, and returns the flagged campaigns with a suggestion to consider a higher weekend bid adjustment or daily budget.

Why wasn't my weekday-only campaign flagged?

A campaign needs data on both weekdays and weekend days in the window. One that does not run at weekends is not flagged, because not running is not underspending.

How far back does it look?

Twenty-eight days by default, and up to 60. Pass lookback_days in the run to change it.

How much does a run cost?

One PaidSync task per run, on every plan. The Free plan has 15 tasks a month with no credit card.

610+ tools. 14 platforms. One connection. Start free.