A Step-by-Step Guide to Setting Up Offline Conversion Imports for SQLs

Image via 123RF
Fill out the form below and our team will get back to you within 24 hours
Here's what sets us apart from the competition
Find answers to common questions
Server-side tracking is recommended when you need more reliable event delivery, reduced loss from ad blockers or browser restrictions, and tighter control over data routing and PII. It is typically used alongside client-side tags to improve attribution accuracy and data governance.
Run tag and network debuggers, execute synthetic transactions through the full funnel, reconcile analytics events to backend order and revenue data, and set automated alerts for event drops or source discrepancies. Regular audits of event naming, parameter consistency, and ETL integrity help maintain long-term measurement quality.
We implement consent-aware tag firing, server-side proxies, and cookieless or modeled measurement techniques so key funnel signals are preserved without overriding user choices. All modeled data is labelled in reports to separate observed from inferred metrics.
A typical implementation maps enhanced eCommerce events to a consistent dataLayer, deploys GA4 via Google Tag Manager with optional server-side forwarding, and funnels raw events into BigQuery for attribution, reporting, and downstream ETL. This ensures events are structured for revenue-focused analysis rather than just traffic metrics.
We consolidate events through GA4, server-side tagging, and a central data pipeline (BigQuery/ETL) to reconcile platform conversions with backend revenue. Deterministic identifiers and consistent event schemas reduce discrepancies between platform-reported and first-party data.
In This Article
Maximize Your SQL Tracking
Streamline Your Google Ads
Data-Driven Decisions
Sales-qualified leads are the leads your sales team has actually reviewed and accepted as worth moving forward. In practical Google Ads terms, an SQL is not just a form fill, call, or demo request. It is a lead that has passed your internal qualification rules, such as company size, budget, timeline, geography, or product fit. That distinction matters because Google Ads can optimize for volume very efficiently, but volume alone is often a poor signal when your revenue depends on lead quality.
For example, a B2B SaaS company may receive 120 demo requests in a month, but only 34 may be accepted by sales as SQLs after the first discovery call. A home services business might get a steady stream of quote requests, yet only leads in specific service areas and price bands qualify. If you only optimize toward the initial conversion, Google will often learn to find the easiest form-fill behavior, not the leads your sales team can actually close.
SQL tracking works best when marketing and sales agree on a single, documented definition of a qualified lead before any import setup begins.
That shared definition is the foundation of the tracking setup. Without it, your offline conversion import will be noisy, and Google Ads may receive inconsistent signals. In a technical-first environment, the goal is to move from surface-level conversion tracking to a real feedback loop: ad click, lead capture, sales review, SQL qualification, and then conversion import back into Google Ads. Once that loop is in place, your campaign data becomes more useful for bid strategies, audience refinement, and budget allocation.
Not every lead event should be treated the same. A top-of-funnel lead magnet download, a newsletter signup, a contact form submission, and a booked sales call all represent different intent levels. SQLs sit further down the funnel and usually carry more business value than any earlier-stage action. If your team marks a lead as SQL after a qualification call, that event should be the one you send back into Google Ads as the conversion that matters most.
| Lead stage | Typical source | Business meaning | Use in Google Ads |
|---|---|---|---|
| Inquiry | Landing page form, call extension, lead magnet | Initial interest | Secondary signal, not the main optimization target |
| MQL | Marketing automation scoring | Engaged prospect | Useful if your funnel is long and sales-led |
| SQL | Sales review, discovery call, CRM stage change | Accepted by sales | Primary offline conversion to import |
| Opportunity | Proposal, demo completed | Pipeline progression | Optional secondary value signal |
One agreed qualification rule prevents mixed signals and makes offline imports usable for bidding.
Offline conversion imports let you send downstream sales outcomes back into Google Ads after the initial click has already happened. That matters because most SQL decisions happen outside the browser. A lead might convert on Monday, get reviewed in your CRM on Tuesday, and become an SQL on Thursday after a rep qualifies fit and timing. If you rely only on the original form submission, Google Ads never learns which clicks actually produced sales-ready prospects.
This is especially important for US-based businesses with longer sales cycles, multi-step qualification, or high-ticket offers. A SaaS company, a commercial services provider, or a B2B agency may spend thousands of dollars before a deal closes. If the platform only sees raw inquiries, it will keep optimizing toward lead volume. Offline imports change the optimization signal so bidding can learn from qualified outcomes instead of early-funnel noise.
If SQLs are imported late or inconsistently, Google Ads may optimize on incomplete data and drift back toward low-quality lead volume.
Prebo Digital’s technical-first approach is built around this exact problem: making marketing systems speak the same language as revenue systems. In practice, that means aligning your CRM, your lead source data, your conversion labels, and your Google Ads account structure so the SQL event can be imported reliably. When done well, you get a more accurate read on campaign quality, not just campaign quantity.
An offline conversion import does not just say “this lead was good.” It typically sends Google Ads a matched identifier such as GCLID, plus a conversion action, conversion time, and optionally a conversion value. That lets Google connect the SQL back to the original click. In many setups, this identifier is captured when the lead form is submitted and stored in the CRM until the sales team updates the lead stage.
The value of this process is that the platform can learn from actual sales qualification patterns. If one campaign produces fewer leads but a much higher SQL rate, that campaign may be more valuable than a cheaper one that floods your CRM with poor-fit prospects. Offline imports help expose that difference.
Before creating the conversion action, your tracking architecture needs to capture the right click identifier and preserve it through your lead flow. In most Google Ads setups, that means enabling auto-tagging so the GCLID is appended to your landing page URL. That identifier should then be stored in a hidden form field, passed into your CRM, and retained until the lead is qualified.
If you are using a Shopify lead capture flow, a WordPress form, HubSpot, Salesforce, or another CRM, the principle is the same: capture the identifier at the point of conversion, then retain it in a field that can be exported later. If the identifier is lost, Google cannot match the offline conversion back to the ad click. That is why implementation quality matters more than the import itself.
Auto-tagging is usually the cleanest starting point because it gives you a click-level key Google Ads can match during the import process.
A clean SQL import flow usually looks like this:
Google Ads click ↓Landing page with auto-tagging ↓GCLID captured in hidden field ↓Lead submitted into CRM ↓Sales reviews lead ↓Lead marked SQL ↓Offline conversion imported back into Google AdsThat flow seems simple, but the most common failure points are usually technical, not strategic. Hidden fields are not mapped correctly. CRM workflows overwrite the original click ID. Multiple forms exist but only one captures the identifier. Or the import file includes the wrong timestamp format. Each of these issues can weaken attribution, which is why setup should be tested before the campaign relies on it.
The most practical US-market use case is a business that runs search campaigns for high-intent prospects and qualifies leads after a rep review. In that setup, the ad click drives the lead, the CRM determines fit, and the offline import closes the loop. That is far more useful than optimizing to every form fill equally.
Once your data capture is ready, create the conversion action in Google Ads so the platform has a destination for the SQL event. In the conversions area, choose offline import or a related import type depending on the flow you use. Name the action clearly, such as SQL - Qualified by Sales, so your reporting stays readable when multiple conversion actions exist.
This naming step matters more than most teams think. If you later import opportunities, closed-won deals, or appointment bookings, each action should remain easy to separate. SQL tracking should not get buried inside a generic “lead” bucket. It needs to stand on its own so you can evaluate whether paid search is producing qualified demand.
Use one conversion action for SQLs and keep it distinct from raw leads so Smart Bidding receives a cleaner signal.
When setting up the conversion action, decide whether it should be counted as a primary conversion. For many accounts, SQL should be a primary conversion if it is the outcome that best reflects campaign quality and bidding priorities. If you still need raw leads for funnel visibility, keep them as a secondary action or separate reporting event. The goal is not to delete earlier-stage data, but to avoid letting it dominate optimization.
You should also think about the conversion window. SQLs often happen days or weeks after the original click, so your import process must accommodate that lag. If your sales cycle is 10 to 30 days, the import workflow should be built to upload conversions on a schedule that captures those delays without creating too much reporting noise.
At this stage, the setup is less about the interface and more about the operating model. Google Ads needs a stable event name, a stable identifier, and consistent timing. Once those are in place, the account can begin learning from genuine sales outcomes instead of proxy metrics.
The implementation step is where most SQL tracking projects succeed or fail. You already know the lead is qualified; now you need to move that outcome from your CRM into Google Ads in a format the platform can read. The simplest path is usually a spreadsheet or CRM export that contains the original click identifier, the conversion name, the conversion time, and, if needed, a conversion value. Google Ads can then match the import back to the original ad interaction.
A common US business scenario is a B2B services company using HubSpot or Salesforce. A lead submits a contact form from a Google Search campaign, the GCLID is stored in the CRM, and a rep later marks the lead as SQL after confirming budget and fit. At the end of the day or week, the team exports those qualified records and imports them into Google Ads. That means your bidding system eventually sees the quality outcome, not just the initial interest event.
The cleaner your CRM fields are, the easier your offline imports become. Fixing field hygiene early saves hours of troubleshooting later.
A reliable workflow for SQL imports usually starts with naming and mapping discipline. Your CRM should store the ad click identifier in a dedicated field. Your qualification stage should update only when sales confirms the lead meets your criteria. Then, on a scheduled basis, you export the records that changed to SQL status and format the file according to Google Ads requirements. That typically means ensuring timestamps are accurate, conversion names match exactly, and click IDs are intact.
Example CSV columns for SQL import:Google Click ID,Conversion Name,Conversion Time,Conversion Value,Currency CodeCj0KCQ...,SQL - Qualified by Sales,2026-08-01 14:30:00,0,ZARIf you are using conversion value, assign it deliberately. Some teams give all SQLs the same value. Others value SQLs by segment, such as enterprise SQLs versus SMB SQLs, or by estimated opportunity size. For US-based businesses, values should reflect how your sales team actually prioritizes accounts. Even if the number is an estimate, it should be consistent enough to guide bidding and reporting.
The right cadence depends on lead volume and sales cycle length. High-volume teams may import daily. Lower-volume teams may export weekly. If your qualification happens quickly and your lead flow is steady, a more frequent schedule improves freshness. If your sales process takes time, weekly imports may be sufficient as long as the data remains accurate and complete. The key is consistency, not overcomplication.
| Import approach | When it fits | Strength | Trade-off |
|---|---|---|---|
| Manual CSV upload | Low to medium lead volume | Simple to launch and audit | Requires repeatable admin work |
| Scheduled CRM export | Growing teams with stable pipeline stages | More consistent and less manual | Depends on CRM field integrity |
| Automated API-based import | Higher volume or complex stacks | Fast and scalable | Needs stronger technical setup |
The strongest SQL tracking systems are designed around how your sales team actually works. First, qualify on one agreed stage, not a mix of subjective rep judgments. If one account executive marks a lead SQL after an email reply while another waits for a discovery call, your imported data becomes inconsistent. Second, keep the SQL event separate from earlier conversion points so you can still analyze form fills, call starts, and booked demos without confusing them with the final qualification outcome.
Third, maintain strong attribution hygiene. If your CRM records multiple leads from the same company or repeated submissions from the same person, decide how you will prevent duplicate imports. SQL tracking is only useful when the imported event corresponds to a genuine, unique qualified lead. Fourth, document the exact business rule that triggers SQL status. That rule should be visible to marketing, sales, and whoever manages the Google Ads account.
Avoid importing every “good conversation” as an SQL if your team has not agreed that it meets the qualification threshold.
For eCommerce brands with high-ticket or B2B-like funnels, these mistakes can be especially damaging. If your data says every inquiry is valuable, Google will keep searching for more inquiries, not better opportunities. A disciplined SQL process teaches the platform to prioritize the right kind of demand, which improves the quality of traffic over time.
Once SQLs are flowing into Google Ads, the next step is to evaluate what actually changed. The most useful measure is not just whether conversion counts went up, but whether campaign quality improved. Look at SQL rate by campaign, match type, keyword theme, audience segment, and landing page. In many accounts, the cheapest lead sources are not the most profitable once SQL data is applied.
For example, a campaign may generate 80 raw leads with a low cost per lead, but only 10 SQLs. Another may generate 35 raw leads and 14 SQLs. Without offline conversion imports, the first campaign may look stronger in platform reporting. With SQL tracking, the second campaign may prove far more efficient for revenue generation. That shift is where better budget allocation begins.
When Google Ads sees SQLs, it can learn from quality instead of only quantity.
After implementation, watch SQL volume, SQL rate, cost per SQL, conversion lag, and the split between assisted and direct campaign impact. If you are using value-based bidding, also compare imported conversion value against spend. A healthy SQL tracking setup will often reveal which queries, ad groups, or audiences are driving meaningful pipeline and which ones should be reduced or excluded.
It is also smart to review time-to-SQL. If one source produces SQLs in two days and another takes two weeks, the faster source may improve cash flow even if the raw lead count is lower. That is a valuable nuance for founders and growth managers balancing CAC, payback period, and sales team efficiency.
SQL tracking becomes more powerful when it is connected to the rest of your marketing stack. If your CRM, email platform, analytics layer, and paid media accounts all share the same identifiers, you can move from isolated channel reporting to a more complete revenue model. This is where teams using HubSpot, Salesforce, Klaviyo, or ETL workflows can gain a major advantage, because the SQL event can support segmentation, lifecycle messaging, and channel attribution at the same time.
A strong integration plan also helps with funnel visibility. For instance, a lead might submit a form through a Google Ads campaign, enter an automation workflow, book a call, and later become SQL. If your systems are connected, you can see how ad source, landing page, nurture sequence, and sales follow-up all contribute to the final outcome. That makes it easier to invest in the channels and messages that produce qualified pipeline, not just early engagement.
SQL tracking is most useful when it is part of a single revenue system, not a standalone reporting exercise.
Integration creates the most value in three places. First, it improves Google Ads bidding by giving the algorithm a better quality signal. Second, it helps marketing teams understand which campaigns produce sales-ready prospects versus busywork. Third, it gives leadership a clearer line from ad spend to revenue pipeline. For teams focused on profitability, that is far more important than a simple lead count dashboard.
When the stack is connected properly, you can also analyze SQLs by product line, region, sales rep, or lead source. That makes it easier to spot patterns such as a search campaign producing strong SQLs in one vertical but weak fit in another. Those insights are exactly what a performance-focused agency like Prebo Digital uses to refine acquisition systems and attribution architecture.
Here's what sets us apart
Don't just take our word for it
Keep reading