Zapier has more than 7 million users in 2026 and Make has tripled its adoption since 2023 (Zapier About). For PPC managers who steer Google Ads without coding, these two no-code platforms cover 70 to 85% of useful automations β Slack alerts, CRM sync, automated reporting, approval workflows. And with a marginal cost of $9 to $75/month depending on plan, it's typically 50 to 100x cheaper than an in-house dev for the same results.
The diagnosis: there are 3 categories of Google Ads automation. (1) Native Google Ads scripts for what touches pure Google Ads entities (negatives, bid adjustments, keyword pauses) β see our 10 Google Ads scripts guide. (2) API/Python for massive volumes and complex logic β see Python API beginner's guide. (3) Zapier/Make no-code platforms for multi-app workflows (Google Ads + Slack + HubSpot + Sheets + Gmail). This last point is exactly the target of this article. Our wasted ad spend calculator estimates the $ burned/month from broad without negatives or excessive LP bounce.
Here are 8 concrete flows, production-tested, with step-by-step setup, JSON config when relevant, and limits to know. Each flow targets a clear business use case β not gadgets. For the conversion tracking foundation that conditions half of the flows, read our Google Ads conversion tracking guide.
Zapier vs Make: which tool for what need
Zapier and Make are two no-code orchestrators that expose the Google Ads API as triggers and actions pluggable without code. On 2025-2026 aggregated Google Ads data, the choice plays out on three measurable axes: pricing at volume (Make 3 to 5x cheaper above 10k ops/month), branching capability (Make in graph vs Zapier in linear) and richness of connected apps catalog (Zapier 7,000+ vs Make 2,000+). The diagram below summarizes the common architecture of a no-code Google Ads workflow.
Zapier and Make are the two no-code leaders for Google Ads in 2026. Make (formerly Integromat) has caught up much of Zapier's functional gap since 2023, with a bonus 3 to 5x more competitive pricing at volume. Zapier remains the leader on simplicity and the number of connected apps, but is losing ground on complex workflows.
Here's the comparison table with figures on the criteria that matter for Google Ads:
Reading the table: Make is mathematically the right choice above 5,000 ops/month or for flows with 4+ steps with conditional logic. Zapier keeps the advantage on simplicity and the apps ecosystem. n8n is relevant if you have the tech resources to self-host or if data sovereignty is a concern (strict GDPR, sensitive sector). For the flows described in this article, Zapier AND Make work β we indicate the recommended choice for each flow.
On accounts observed in public Google Ads benchmarks, no-code ROI converges toward a very reproducible threshold: $1 invested in Zapier/Make subscription saves $8 to $18 of PPC manager time per month. On a $50/month subscription budget, that's $400 to $900 of time recovered. Breakeven is reached with the 2nd active flow (alerts + reporting), all additional flows are pure gain. Beyond 8 simultaneous flows, the bottleneck becomes flow maintenance (API updates, error handling), not license cost.
Google Ads connector setup (OAuth + permissions)
Before creating any flow, you need to connect your Google Ads account (or MCC) to the platform. OAuth setup takes 2-3 minutes, but 4 points can block if poorly anticipated: (1) user access level, (2) MCC Customer ID, (3) developer token, (4) granted permissions.
1. User access level. The Google user connecting via OAuth must have at minimum Standard access on the Google Ads account (read + write). Read-only access only works for reporting/monitoring flows, not for flows that modify entities (negatives, bid, conversions). Check in Google Ads: Tools > Access and security > Users.
2. MCC Customer ID. If you manage multiple accounts via a Manager Account (MCC), Zapier and Make ask for the MCC Customer ID during connection (format 123-456-7890). It's the parent MCC ID, not the target sub-account. The target sub-account is then selected per flow via a dropdown.
3. Developer token. Good news: Zapier and Make handle the developer token on the platform side β you have NOTHING to do. It's their Google-approved OAuth app that provides the token. This avoids the Google Ads API developer token application procedure (5-10 days) you have to do if you code directly.
4. Granted permissions. The Google OAuth window lists two permissions: Read and write Google Ads campaigns and View account performance data. Check Allow for both. If you only grant View, write flows (push conversions, add negatives) will silently fail.
// Example: minimal Make Google Ads connector config
{
"connection": {
"type": "googleads",
"scopes": [
"https://www.googleapis.com/auth/adwords"
],
"auth": {
"method": "oauth2",
"client_managed": true
},
"mcc_customer_id": "123-456-7890",
"default_account_id": "987-654-3210"
}
}
Connection test: create a minimal flow with a Google Ads Search Campaigns module and run it in test mode. If the run returns the account's campaign list, OAuth is valid. If 401 / 403 error, either the user doesn't have the right access level, or the MCC Customer ID is misentered. Official documentation: zapier.com/apps/google-ads and make.com/en/integrations/google-ads.
If your flow uses external credentials (Slack webhook, SendGrid API key, HubSpot token), NEVER hardcode them in modules. Use Make Connections or Zapier App Connections which store credentials encrypted on the platform side. This prevents credentials from appearing in clear in JSON exports or error logs.
Flows 1 and 2: Slack budget alerts + CPC anomalies
The two most profitable flows to activate first are Slack alerts β they save monitoring time without any risk of account modification.
Flow 1 β Slack alert budget exceeded (Zapier or Make, hourly)
Function: send a Slack notification as soon as a campaign consumes more than 80% of its daily budget during the day. Critical during seasonal peaks (Black Friday, sales) or accounts with tight budgets.
Architecture:
- Trigger:
Schedule by Zapier(every hour) orMake Schedule(1h interval) - Action:
Search CampaignsGoogle Ads (filter Status=Enabled) - Filter:
Continue only if cost / budget >= 0.80 - Action:
Send Channel MessageSlack with text template
Slack message template:
[BUDGET ALERT] Campaign {{campaign_name}}
Budget: ${{daily_budget}} | Spent: ${{cost_today}}
Percentage: {{cost_today / daily_budget * 100}}%
Time: {{now}}
Link: https://ads.google.com/aw/campaigns?ocid=YOUR_OCID&campaignId={{campaign_id}}
Recommended platform: Make (conditional logic + native iterations). On Zapier, you need a Filter step + a Looping by Zapier (premium operation). Make cost: about 700-2,000 ops/month. Zapier cost: about 700-1,500 tasks/month.
Flow 2 β CPC anomaly detection (Make, daily)
Function: compare average CPC of the last 7 days to average CPC of the last 30 days per campaign. Alert Slack if the gap exceeds +25%. Detects aggressive competitors, unanticipated seasonalities, drifting bids.
Architecture:
- Trigger:
Make Scheduledaily (8:00 AM) - Action:
Search Campaigns PerformanceGoogle Ads (last 7 days + last 30 days) - Tools:
Set Variablecpc_7 and cpc_30 per campaign - Filter:
(cpc_7 - cpc_30) / cpc_30 > 0.25 - Aggregator:
Text Aggregatorto group all anomalies in 1 message - Action:
Send Slack Messagewith anomaly list
JSON Make scenario (excerpt):
{
"name": "CPC Anomaly Detection - Daily",
"scheduling": { "type": "daily", "time": "08:00" },
"modules": [
{
"id": 1,
"module": "google-ads:searchCampaigns",
"parameters": {
"dateRange": "LAST_7_DAYS",
"metrics": ["cost", "clicks"]
}
},
{
"id": 2,
"module": "tools:setVariable",
"parameters": {
"name": "cpc_7d",
"value": "{{1.cost / 1.clicks}}"
}
},
{
"id": 3,
"module": "google-ads:searchCampaigns",
"parameters": {
"dateRange": "LAST_30_DAYS",
"filter": "campaign_id = {{1.campaign_id}}"
}
},
{
"id": 4,
"module": "tools:basicRouter",
"filter": "{{(cpc_7d - cpc_30d) / cpc_30d > 0.25}}"
},
{
"id": 5,
"module": "slack:postMessage",
"parameters": {
"channel": "#ads-alerts",
"text": "[CPC ALERT] {{1.campaign_name}}: +{{((cpc_7d - cpc_30d) / cpc_30d * 100)}}%"
}
}
]
}
Recommended platform: Make (the visual editor makes the scenario readable and debugging easy). Cost: about 90-150 ops/month. Hard to do cleanly in Zapier without premium Looping and several Paths.
For really critical alerts (brand budget exceeded, CPC +50%), chain 3 actions: (1) Slack team channel, (2) email manager if not acknowledged in 30 min, (3) Twilio SMS if not acknowledged in 1h. Make handles this escalation natively with Sleep modules + Webhook Response checks. Zapier requires a Multi-Step Zap + Filter + Schedule. Don't overdo escalations: 1 per critical flow max, otherwise Slack spam and the team ignores.
Flows 3 and 4: HubSpot/Salesforce CRM sync to Google Ads
These two flows are the most impactful on bidding performance. They allow you to surface real business conversions (closed deals, validated MQLs) to Google Ads, rather than bidding on raw form-fills. Smart Bidding (Target CPA, Target ROAS) then optimizes for quality, not quantity.
Flow 3 β Sync HubSpot deal to Google Ads conversion (Zapier, real-time)
Function: as soon as a HubSpot deal moves to Closed Won, push an offline conversion to Google Ads via the gclid stored in a HubSpot custom field. Allows Smart Bidding to optimize on real revenue, not form-fills.
Prerequisites:
- Custom
gclidfield on HubSpot contacts, populated via URL parameter capture on the form (JS script or native HubSpot Forms tracking). - Custom
deal_amountfield on deals. - Google Ads conversion action created with source
Importsand categoryPurchase(or other depending on vertical).
Zapier architecture:
- Trigger:
Deal Stage ChangedHubSpot (when stage becomes Closed Won) - Action:
Find ContactHubSpot (associated with deal) β retrieves gclid - Filter:
Continue only if gclid is not empty - Action:
Upload Click ConversionGoogle Ads with gclid + deal_amount + currency
Recommended platform: Zapier (the Zapier HubSpot connector is more mature than Make's). Cost: 4 ops per won deal, i.e. 100-600 ops/month depending on volume.
// Example payload Upload Click Conversion (Zapier action params)
{
"conversion_action": "customers/1234567890/conversionActions/9876543",
"gclid": "{{HubSpot.contact.gclid}}",
"conversion_date_time": "{{HubSpot.deal.closedate}}",
"conversion_value": "{{HubSpot.deal.amount}}",
"currency_code": "USD",
"user_identifiers": {
"hashed_email": "{{HubSpot.contact.email_sha256}}"
}
}
Limitations:
- Google Ads window: conversion uploadable up to 90 days after click. Beyond that, the API returns an error. For long B2B cycles (6-12 months), use Enhanced Conversions for Leads with hashed email as primary identifier (instead of gclid).
- Zapier real-time latency: 2-5 minutes typically. Sufficient for Smart Bidding (which resamples every 24h).
Flow 4 β Sync Salesforce closed won to Google Ads (Make, real-time)
Function: equivalent of Flow 3 on the Salesforce side. On Salesforce, we typically use the Webhook module (Make) because Make's Salesforce connector captures custom Workflow Rules better than Zapier's.
Make architecture:
- Trigger:
Webhook(custom URL called by Salesforce Workflow Rule on Closed Won) - Action:
Salesforce Get RecordOpportunity β retrieves gclid + amount - Action:
Google Ads Upload Click Conversionwith mapping - Action:
Salesforce Update RecordOpportunity (set fieldgads_conversion_uploaded__c = trueto avoid duplicates)
Recommended platform: Make (Salesforce + webhooks + native branching). Cost: 5 ops per won deal. Make Salesforce documentation: make.com/en/integrations/salesforce.
For the complete first-party data + Customer Match strategy that complements these conversion syncs, see our 2026 Customer Match first-party data guide.
Flows 5 and 6: weekly email reporting + Google Sheets
Reporting is the 2nd most profitable use case after alerts. Automating the weekly report avoids manual Google Ads connection every Monday, and guarantees a consistent format week after week.
Flow 5 β Weekly email report + KPI table (Zapier, weekly)
Function: every Monday at 8:00 AM, generate an HTML email with a table of key KPIs per campaign (impressions, clicks, cost, conversions, CPA, ROAS) over the last 7 days, and send it to stakeholders.
Zapier architecture:
- Trigger:
Schedule by Zapier(Monday 08:00) - Action:
Search Campaigns PerformanceGoogle Ads (last 7 days, all metrics) - Code by Zapier (JavaScript): transform the list into HTML table
- Action:
Send Email by ZapierorGmailwith HTML body
HTML transformation code (Code by Zapier):
const campaigns = inputData.campaigns.split('|||').map(c => JSON.parse(c));
let html = `<h2 data-speakable>Weekly Google Ads Report</h2>
<table border="1" cellpadding="8" style="border-collapse:collapse;">
<tr><th>Campaign</th><th>Impr.</th><th>Clicks</th><th>Cost</th><th>Conv.</th><th>CPA</th></tr>`;
campaigns.forEach(c => {
const cpa = c.conversions > 0 ? (c.cost / c.conversions).toFixed(2) : 'N/A';
html += `<tr><td>${c.name}</td><td>${c.impressions}</td><td>${c.clicks}</td><td>$${c.cost.toFixed(2)}</td><td>${c.conversions}</td><td>$${cpa}</td></tr>`;
});
html += `</table>`;
output = { html_body: html };
Recommended platform: Zapier (Gmail + Code by Zapier). Cost: about 4 tasks per week = 16/month.
Flow 6 β Daily KPI Google Sheets export (Make, daily)
Function: every day at midnight, add a row to a shared Google Sheet with overall account KPIs (impressions, clicks, cost, conversions). Allows tracking the trend over 90 days without connecting to Google Ads.
Make architecture:
- Trigger:
Make Scheduledaily 23:55 - Action:
Google Ads Get Account Performance(yesterday) - Action:
Google Sheets Add Rowwith date + metrics mapping
Recommended platform: Make (Google Sheets + Google Ads native). Cost: 2 ops/day = 60/month.
// Mapping Google Sheets Add Row (Make params)
{
"spreadsheet_id": "1A2B3C4D5E6F7G8H9I0J",
"sheet_name": "DailyKPI",
"values": {
"A": "{{formatDate(now; YYYY-MM-DD)}}",
"B": "{{1.impressions}}",
"C": "{{1.clicks}}",
"D": "{{1.cost}}",
"E": "{{1.conversions}}",
"F": "{{1.cost / 1.conversions}}"
}
}
Bonus use case: this shared sheet becomes the source of truth for your dashboards (Looker Studio, Tableau, Metabase). No more need for fragile native Google Ads connectors, the sheet is updated daily by Make. See our Google Ads audit checklist for the priority KPIs to track.
Flows 7 and 8: ad copy approval + creative review
Approval flows are specific to teams where multiple people work on ads (PPC manager + content manager + legal/brand owner). They prevent pushing invalid ad copy.
Flow 7 β Slack ad copy approval before push (Zapier, on-demand)
Function: before pushing a new ad copy to Google Ads production, trigger a Slack message with Approve / Reject buttons. If Approve, the flow continues to Google Ads. If Reject, the flow stops and logs the rejection in a sheet.
Zapier architecture:
- Trigger:
New Row in Google Sheet(Drafts tab, status=ToReview) - Action:
Send Channel MessageSlack with Block Kit Approve/Reject buttons - Wait for:
Webhook by Zapier(Slack interaction endpoint callback) - Approve Path:
Update AdGoogle Ads (set status=Enabled) - Reject Path:
Update RowGoogle Sheet (set status=Rejected + comment)
Slack Block Kit message (excerpt):
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*New ad copy to review*\n\nHeadline 1: `{{ad_h1}}`\nHeadline 2: `{{ad_h2}}`\nDescription: `{{ad_desc}}`"
}
},
{
"type": "actions",
"elements": [
{ "type": "button", "text": { "type": "plain_text", "text": "Approve" }, "value": "approve_{{ad_id}}", "style": "primary" },
{ "type": "button", "text": { "type": "plain_text", "text": "Reject" }, "value": "reject_{{ad_id}}", "style": "danger" }
]
}
]
}
Recommended platform: Zapier (Webhook by Zapier + Paths). Cost: about 6 tasks per approval. For RSA basics + writing best practices, see our RSA writing method.
Flow 8 β Creative review notification + assignment (Make, on-demand)
Function: when a creative manager uploads a new ad image (Google Ads asset), notify the PPC manager via Slack with a link to the asset, and create a review task in Asana or Trello.
Make architecture:
- Trigger:
Watch AssetsGoogle Ads (or Webhook if push from Drive/storage) - Action:
Slack Send Messagewith asset preview link - Action:
Asana Create Task(assignee=PPC manager, due in 48h, project=Ads Review)
Recommended platform: Make (multi-app + branching). Cost: 3 ops per upload.
Flows 7 and 8 combine: the creative manager uploads a visual (Flow 8 β Asana task), the PPC manager reviews and drafts the ad copy around it (Flow 7 β Slack approval), then automatic push to production. Total cycle time: 2-4h vs 1-2 days in manual email mode. Over 15-20 ad pushes/month, that's 5-8h saved by both roles combined.
No-code limits: when to move to direct API
Zapier and Make cover 70 to 85% of useful Google Ads automations, but they have structural limits. Three thresholds typically trigger migration to direct API or self-hosted n8n.
1. Volume β beyond 50,000 ops/month. Pricing becomes prohibitive. Make Teams 80,000 ops at $29 remains competitive, but Make Pro 10,000 ops at $9 doesn't keep up. And Zapier jumps to $200-400/month. At this volume, a Python script on Cloud Run at $5-15/month does the same job.
2. Critical latency β beyond unacceptable 30 seconds. No-code flows have a typical 1-3 minute latency between trigger and action (platform-side queueing). Sufficient for 95% of cases, insufficient for: ultra-critical alerts during flash sales (Black Friday, product drops), failover bid-protection in case of tracking bug.
3. Complex logic β beyond 12-15 steps. Beyond, the flow becomes unmanageable to maintain. Multiple branching, fine error handling, custom retries, complex format parsing β it's faster to code in Python than to debug a 25-module Make scenario.
Progressive migration pattern:
- Months 1-3: everything in no-code. Identify the 8-10 useful flows, prove ROI.
- Months 4-6: identify the 2-3 critical flows (volume, latency, complexity). Migrate them to self-hosted n8n or Python API.
- Months 7+: keep the 5-8 simple flows in Zapier/Make (alerts, reporting, simple sync), complex flows stay in code.
This is exactly the pattern seen in most accounts observed in public Google Ads benchmarks: pragmatic no-code + code coexistence, chosen per flow, not by dogma. For migration on the n8n side, see our 2026 n8n + Google Ads guide. For direct Python code, see our Python Google Ads API automation guide.
On accounts observed in public Google Ads benchmarks, the dominant tools pattern is: 5-8 active Zapier/Make flows (alerts, reporting, simple CRM sync) + 2-4 native Google Ads scripts (auto negatives, bid adjustments) + 1-2 Python jobs on Cloud Run (complex pipelines). It's rarely one single tool. The key is to not duplicate (avoid Zapier AND Make in parallel), and to clearly delimit which tool for which flow. For accounts that want a managed pre-wired stack, our auto-optimization engine embeds the 8 flows described here in SaaS mode.
Don't want to configure 8 flows manually?
Our Auto-optimization module embeds the equivalent of the 8 flows described here in managed SaaS mode: Slack budget + CPC alerts, CRM conversion sync, weekly reporting, tracking monitoring. Google Ads OAuth connection in 2 minutes, first analysis in 5 minutes. For teams that prefer to stay on the Zapier/Make ecosystem, flow templates are available on request via support@steerads.com β copy-paste, customize variables, activate.
Sources
Official sources consulted for this guide:
FAQ
Zapier or Make: which to choose if I'm starting in 2026?
Make for most cases in 2026, Zapier if you already have the ecosystem. Make (formerly Integromat) offers pricing 3 to 5x cheaper at volume (notably above 10,000 operations/month), a more powerful visual editor for complex workflows (branching, iterations, native error handling), and a Google Ads connector maturing since 2024. Zapier remains the leader on simplicity (cleaner interface, more connected apps β about 7,000 vs about 2,000 at Make) and on simple 1-trigger / 1-action use cases. If you process more than 5,000 ops/month or your flows have 4+ steps with conditional logic, Make is mathematically the right choice. Under 1,000 ops/month and simple flows, Zapier is faster to set up.
What authentication does the Google Ads connector use in Zapier and Make?
Both go through standard OAuth 2.0 with a Google Ads developer token. Zapier and Make each have their OAuth app approved by Google, so on the user side it's just a Sign in with Google + grant of Google Ads permissions. The developer token is managed by the platform, not the user. For MCC (manager) accounts, you must have admin-level user access on the target sub-account, and the MCC Customer ID must be entered in the connector. The first connection takes 2-3 minutes. Automatic OAuth renewal as long as the account isn't revoked in Google Permissions.
How many operations / API calls does a typical flow consume?
An hourly budget alert flow (8 steps: Schedule trigger + Search Campaign + Filter + Send Slack) consumes 1 to 3 operations per run, i.e. about 720 to 2,160 ops/month (24 runs/day x 30 days). A bi-directional CRM sync flow (CRM trigger + Search Conversion + Update Google Ads + Update CRM) consumes 4 ops per lead, i.e. 100 to 600 ops/month depending on lead volume. Total benchmark for 8 active flows: 8,000 to 25,000 ops/month. This places the account on the Make Pro plan ($9/month up to 10,000 ops) or Zapier Pro ($50 to $100/month). Make Teams pricing ($29/month for 80,000 ops) widely covers all flows described here. With Zapier, plan $50 to $75/month for 8 active flows.
Can you do bidirectional CRM / Google Ads conversion sync without coding?
Yes via the Conversion Adjustment Upload action of the Google Ads connector, available in Zapier and Make. Pattern: trigger on HubSpot Deal Stage Change (to Closed Won), retrieves gclid via webhook or HubSpot custom field, pushes to Google Ads via Conversion Adjustment Upload action with gclid + value + currency. Typical latency: 2 to 5 minutes after stage change. Limitation: Google Ads only accepts adjustments within a 90-day window after initial conversion. For adjustments beyond or for volumes above 1,000 conversions/day, direct API is more stable. See official documentation <a href='https://developers.google.com/google-ads/api/docs/conversions/upload-adjustments'>upload-adjustments</a>.
When to move from Zapier/Make to direct Google Ads API?
Three thresholds trigger migration. (1) Volume: above 50,000 ops/month, no-code pricing becomes prohibitive vs a Cloud Run with Python script at $5-15/month. (2) Critical latency: if you need under 30 seconds between trigger and action (e.g. ultra-critical budget alert during Black Friday sale), no-code can reach 1-3 min latency depending on plan. (3) Complex logic: if a flow exceeds 12-15 steps with multiple branching, fine error handling, custom retries, it's faster to maintain in Python. Common 2026 pattern: start no-code (3-6 months), identify the 2-3 critical flows, migrate them to direct API or self-hosted n8n, keep the rest in Zapier/Make. See our Python Google Ads API automation guide for porting.