Driving Better Leads: Google Ads Offline Conversions & Meta API for Agencies
Learn how to feed qualified leads back to Google and Meta, understanding real-world deadlines, agency workflows, and common pitfalls that degrade your data signal.
by Cleverson Gouvêa

Google Ads offline conversions are how you tell the algorithm which leads truly became customers, not just those who filled out a form. Agency managers handling budgets for ten, twenty, or forty clients know the impact of neglecting this: cost per lead drops, clients complain about "just getting tire-kickers," and account trust erodes. This guide shows how to close that loop on Google and Meta, with a workflow that fits an agency's routine.
TL;DR
- Google and Meta optimize for the event you send. If you send "form submitted," they'll bring you people who fill out forms, not people who buy.
- For Google Ads offline conversions, the upload must occur within 90 days of the last click (63 days for enhanced conversions for leads), and the conversion action must exist before the click.
- As of June 15, 2026, uploading offline conversions via the Google Ads API will migrate to the Data Manager API. Older integrations may have stopped without notice.
- On Meta, the Conversions API accepts events with up to a 7-day delay, and CRM integration requires a minimum volume of 200 leads/month.
- The bottleneck is never the API. It's qualification: someone needs to identify, every day, which leads are valuable. This is what consumes a manager's time, and it's what can be systematized.
Why the Algorithm Acquires the Wrong Leads
Google's Smart Bidding and Meta's delivery optimization do exactly what you ask. If the only conversion configured is "lead submitted," the algorithm learns the profile of people who submit forms: those who click quickly, fill out anything, and disappear. Your cost per lead plummets in reports. Your cost per customer skyrockets in your client's ledger.
In the traffic operations we manage at Agathas Web, this pattern consistently emerges. The manager celebrates a 30% lower CPL, and three weeks later, the client messages, saying their sales team "can't stand calling wrong numbers anymore." The algorithm didn't make a mistake. It optimized for the signal it received.
What Changes When You Feed Back Qualified Leads
Feeding back qualified leads means sending a second event, after the first, stating: "this click here became an opportunity" or "this became a sale, worth $4,800." The platform then has two types of signals and can be configured to optimize for the more valuable one.
- Bidding starts targeting quality: campaigns learn the profile of buyers, not just clickers.
- Reporting becomes accurate: qualified cost per lead appears alongside raw cost per lead.
- Client conversations elevate: you stop defending CPL and start discussing cost per sale.
That's why Google Ads offline conversions and the Meta Conversions API are no longer just "for big e-commerce businesses." For lead-generation businesses (clinics, schools, real estate, B2B services), they are what separates accounts that scale from those that stagnate.
Google Ads Offline Conversions: How It Works in 2026
The basic mechanism hasn't changed: upon a click, Google generates an identifier called GCLID (Google Click ID), which is appended to the destination URL when auto-tagging is enabled. Your form saves this GCLID along with the lead. When the lead becomes an opportunity or a sale, you send Google back the GCLID + conversion name + date and time + value. Each line of this return represents one of your Google Ads offline conversions attributed to the original click.
The rules that most often trip up agencies are found on the Google Ads import guidelines page:
- 90-day window: Conversions uploaded more than 90 days after the last click are not imported. For enhanced conversions for leads, the limit is 63 days.
- Duplicate handling: The same identifier, conversion, date, and time count only once. Resending the file for safety won't inflate the numbers.
- Time to appear: According to Google, it takes about 3 hours for imported Google Ads offline conversions to show up in the account.
- Action created before the click: The Google Ads API documentation requires that the import-type conversion action already exists and is active when the click occurs. Creating the action today won't recover yesterday's clicks.
GCLID or Enhanced Conversions for Leads?
**Enhanced conversions for leads** use, in addition to the GCLID, user-provided data (email and phone number) with SHA-256 hashing. This helps when the GCLID is lost along the way, which is common with browsers that block parameters or leads returning days later from a different device. Google recommends starting with these for anyone not yet importing anything.
This change comes with a trade-off: the window drops from 90 to 63 days, and you need to collect and process email and phone numbers with a legal basis under privacy regulations like CCPA or other US state privacy laws. For short-cycle Google Ads offline conversions, such as for clinics and short courses, the smaller window is rarely an issue.
What Changed in 2026: Data Manager
The change that caught many off guard: as of **June 15, 2026**, offline conversion upload requests via the Google Ads API will fail for developer tokens that have never sent this type of data, and the official path will become the **Data Manager API**. In the interface, the **Data Manager** became the entry point for configuring imports via file, Google Sheets, SFTP, or CRM connectors.
For agencies, the practical consequence is simple: **file upload** remains the most robust path and least dependent on development. It's how most small and medium accounts should start using Google Ads offline conversions without relying on a developer.
Meta Conversions API: The Facebook and Instagram Side
On Meta, the equivalent is the **Conversions API** (CAPI). Instead of relying solely on the browser pixel, your server sends the event directly to Meta. This solves two problems: ad blockers and conversions that happen off-site, in sales calls or via WhatsApp.
The details crucial for your routine are in the event parameters reference:
- 7-day window: The
event_timecan be at most 7 days before the upload. If a single event in the batch exceeds this, Meta rejects the entire request. - Deduplication: If you send the same event via both the pixel and CAPI, both must have the same
event_idandevent_name. Without this, the lead counts twice, and your reported CPL will be half of the actual cost. - Event source: The
action_sourcefield indicates where the event originated (website,chat,phone_call,system_generated, among others).
CRM Integration: Feeding Back Lead Stages
For leads, Meta has a specific flow: the Conversions API integration with CRM. You send each lead stage change (qualified, meeting scheduled, sale), and Meta learns which leads are valuable. The published requirements are clear:
- at least **200 leads per month** in the account;
- conversion rate for the optimized stage between **1% and 40%**;
- the stage must occur within **28 days** after lead generation;
- regular uploads, **at least once per day**;
- preferably with the **Meta lead ID** (15 to 17 digits) stored in the CRM.
The old Offline Conversions API is treated by Meta itself as legacy. If any of your clients are still using "offline event sets" from an older integration, it's worth checking if it has migrated to CAPI with datasets.
Google Ads Offline Conversions vs. Meta CAPI: What Each Requires
| Point | Google Ads | Meta (CAPI) |
|---|---|---|
| Primary Identifier | GCLID; hashed email and phone for enhanced conversions | Lead ID, fbclid/fbc, hashed email and phone |
| Submission Deadline | 90 days from click (63 for enhanced conversions for leads) | 7 days from event in event_time |
| Simplest Way to Start | File upload (CSV or Sheets) | Server-side sending |
| Minimum Volume for Quality Optimization | No single published floor; depends on bidding strategy | 200 leads/month for CRM integration |
| Recommended Frequency | Regular, without waiting until month-end | At least daily |
| Recent Change | API upload migrates to Data Manager API (06/15/2026) | Offline Conversions API treated as legacy |
The table highlights the most impactful difference for your routine: Google tolerates delays, Meta does not. If you wait until month-end to upload qualifications, you'll miss out on Meta entirely and still risk exceeding the Google Ads offline conversion deadline for older clicks.
The Agency Workflow: Who Qualifies, When to Upload, What Value to Send
Setting up Google Ads offline conversions can be done in an afternoon. What's challenging is the ongoing routine, because it depends on three people who often don't communicate effectively: the traffic manager, the client's sales team, and the website manager.
A Step-by-Step Approach That Works
- Capture the identifier with the lead. The form needs to record GCLID,
fbclid, UTMs, and the landing page. A lead without an identifier cannot be fed back to the algorithm. - Define what "qualified" means with the client, in writing. "Responded on WhatsApp and has a budget" is a criterion. "Seemed interested" is not.
- Create conversion actions before touching campaigns. On Google, one import action for "qualified lead" and another for "sale." Remember: it must exist before the click, or Google Ads offline conversions for that period will be lost.
- Set a fixed schedule. Daily for Meta. For Google, twice a week is sufficient for most lead accounts.
- Send value when available. A sale of $4,800 and a sale of $600 should not carry the same weight in bidding.
- Only change the optimization goal after accumulating sufficient data. Changing the campaign objective on the first day of new data unnecessarily throws the account into a learning phase.
Where the Workflow Breaks Down
It breaks down at step 2, and not due to Google Ads offline conversions themselves. The client's sales team doesn't update statuses, the shared spreadsheet becomes outdated, and the manager spends Friday chasing, "Did that lead from the 12th close?" Multiply that by twenty clients, and you have an entire workday spent on manual data mining, which no one pays for.
This is the same problem we discussed in our guide on marketing agency management systems: when expenses, leads, and sales live in separate tools, no one can reconcile the account. Here, the cost is even higher, because the missing data is precisely what would teach the algorithm.
When NOT to Implement (Yet)
Google Ads offline conversions and CAPI are not mandatory for every account. There are scenarios where setting up the flow now costs more than it returns:
- Very low volume. An account with ten leads per month doesn't have enough signal for the algorithm to learn funnel stages. Use imports for measurement, not optimization.
- Unmaintained qualification. If the client won't mark statuses, you'll train the algorithm with incomplete data, which is worse than not training it at all.
- Sales cycle longer than the window. A sale that closes in six months won't fit within Google's 90-day window. Feed back an intermediate stage (meeting held, proposal sent) that occurs within the deadline.
- Account in crisis. If the campaign is out of budget or paused, resolve that first. We've already written about how to prevent this in our post on Meta Ads and Google Ads balance alerts.
Pitfalls I Encountered Setting This Up
I set up lead submission to the Conversions API on Agathas Web's own site, with two Meta pixels running in parallel. Some errors only become apparent once real data starts flowing:
The Wrong IP Behind Cloudflare
Our site sits behind Cloudflare. The X-Real-IP header our server received was Cloudflare's edge IP, not the visitor's. Sending this IP to CAPI degrades event matching. The real IP only comes in the cf-connecting-ip header. If your client's site uses a CDN, check this before blaming Meta.
GCLID Lost on the Way to WhatsApp
Ads that lead directly to WhatsApp don't go through a form, so there's no place to record the GCLID. You either use an intermediate landing page that captures the parameter, or accept that this lead will only be fed back to Google via email and phone number, using enhanced conversions for leads.
Other Common Stumbles
- Time zone: Date and time without a time zone in the Google Ads offline conversions file result in a conversion on the wrong day or an import error.
- Pixel and CAPI without the same
event_id: Lead counted twice. - Poorly executed hash: Email with uppercase letters or spaces before SHA-256 won't match anything.
- GDPR/CCPA overlooked: Feeding back a hashed phone number is still personal data processing. It requires a legal basis and a notice in the privacy policy.
What This Costs Agencies in Hours
No one bills clients for the time spent compiling conversion files. That's why it's worth doing the math before making promises.
An illustrative calculation: if each client requires 20 minutes per week to chase statuses, compile the Google Ads offline conversions CSV, and upload it, a portfolio of 20 clients consumes over 6 hours weekly just on this task. In a month, that's nearly a full work week for one manager. Add in reporting time, which we've shown how to cut in our guide on paid traffic reports for clients without spreadsheets, and it becomes clear why an overloaded manager can't take on more accounts.
The solution isn't to cut the routine, because it's what retains clients. It's to eliminate the manual grunt work: leads arrive with their source, qualification happens within the workflow, and the file is ready. This exact design led us to build YESHUA, the ERP for agencies.
How Agathas Web Solves This
YESHUA was born from Agathas' own operations: client ad accounts, leads, billing, and invoices. For leads and conversions, it closes the expense → lead → qualification → feedback to the algorithm chain like this:
What's Included
- Leads with stamped origin: Each lead arrives with network, campaign, and entry point. Client website forms integrate via a WordPress plugin, and WhatsApp leads from ads come through Voyia or the Evolution API.
- Automatic WhatsApp qualification: Conversations without a response automatically become invalid leads. The manager no longer has to manually mark junk.
- Clients record sales themselves: In the client portal, whoever closed a deal with each lead marks the sale. The status you used to chase on Friday now arrives without prompting.
- Website leads sent to the Meta Conversions API, so the Facebook and Instagram side also learns from incoming leads.
- Offline conversions file for qualified leads, ready for Google Ads upload. You download and import, instead of compiling CSV line by line.
- Alerts when a client stops receiving leads, in addition to new lead notifications via push, email, and team WhatsApp.
How Your Monday Routine Changes
In practice, a manager's Monday changes like this: instead of opening twenty spreadsheets, they open the dashboard, see the week's leads already filtered (invalid ones are automatically removed), check the sales clients recorded in the portal, download each client's Google Ads offline conversions file, and upload it to the corresponding account. What used to take a morning becomes a short task. This reclaimed time allows a single manager to serve more clients without sacrificing quality.
And because clients see their own leads, investment, and ROI in the portal, renewal conversations shift from CPL to sales. Clients who see results stay longer.
How to Get Started
YESHUA doesn't have a fixed price list: the cost depends on how many clients the agency serves, how many ad accounts will be connected, and which modules make sense. You fill out the analysis request on the YESHUA page, we schedule a meeting, demonstrate the system running with real data, and then provide a proposal. Implementation includes creating users and access roles, connecting accounts via each platform's official flow (no passwords are typed into the system), and importing historical data.
Conclusion: The Algorithm Is Only as Good as the Signal It Receives
Google Ads offline conversions and the Meta Conversions API solve the same problem: teaching the platform the difference between a lead and a customer. The technical part is documented and can be set up in an afternoon. What determines success is the daily qualification routine, across every account in your portfolio.
If today this routine relies on spreadsheets and manual follow-ups, start with the basics: capture the GCLID, define the qualified lead criteria with each client, and upload your first Google Ads offline conversions file this week. When your portfolio grows to the point where this becomes a full day's work, request a YESHUA analysis and see the workflow running with real data.
Related posts

Marketing Agency Finance: Your Day-by-Day Monthly Routine
Contracts, electronic invoicing, billing, payment reminders, tax compliance, and cash flow: your agency's financial month, day by day, and where operational hours can vanish.

Ad Manager Tools: The Essential Stack for 2026
Scheduler, data connector, CRM, billing, and spreadsheets: what a fragmented stack truly costs and when an agency ERP pays for itself based on client portfolio.

WhatsApp Click-to-Chat Ads: New 7-Day Free Messaging Window
Since 09/28, ad leads get up to 7 days of free messaging. Learn what still costs, BSUID, and how to prove sales to clients.