Demand Gen clicks with no leads can mean a broken journey, the wrong conversion signal or traffic that does not fit the offer. Low engagement alone does not prove bots. First identify what the report counts, where the ads served and whether a controlled enquiry reaches your business.
Keep four checkpoints separate: ad interaction, measured site visit, accepted enquiry and qualified outcome. A missing checkpoint tells you what to test next; it does not identify a fraudster by itself.
1. Find the missing checkpoint
| Symptom | First check | What not to assume |
|---|---|---|
| Reported clicks, few measured sessions | Interaction type, redirects, tag loading, consent and matching report windows | Every difference is fraud |
| Sessions, no accepted enquiries | Mobile form, page errors, message/offer fit and actual audience | A conversion pixel proves the form worked |
| Conversions, no CRM records | Action names, trigger, attribution type, duplicates and CRM delivery | Every reported conversion was a click-through form lead |
| Received leads, no qualified business | Contact verification, service eligibility, intent and qualification delay | Every poor-fit person is a bot |
| Unexpected channels or formats | Saved ad-group controls and native channel/ad-format reports | A PMax setting or export describes Demand Gen |
Use the general clicks-without-leads checks if you have not tested your form and phone journey yet. Use the conversion-signal diagnostic when the conversion total itself is the problem.
2. Inspect the actual channels before narrowing them
Demand Gen channel selection is configured at ad-group level. Google offers automatic selection or manual eligible choices across YouTube, Discover, Gmail, Maps and the Google Display Network. YouTube has in-stream, in-feed and Shorts options. Availability also depends on the ad type, audience and other settings.
Record the saved configuration before changing it. Automatic selection can expand to newly available channels, so a remembered setup is weaker evidence than the current settings and report.
Demand Gen campaign → Ad group settings → Channels
Record the current automatic/manual mode and selected eligible inventory.
Record Google Display Network inclusion separately.
Reporting: segment by network/channel first.
For YouTube detail, inspect the ad-format breakdown separately.
Keep the same dates, account timezone, campaign/ad-group IDs and action.
Do not add a top-level total to its own breakdown rows.Control reference: Demand Gen channel controls, checked 3 November 2026. This is different from the Search campaign partner checkbox and Performance Max controls.
Use network segmentation for channel reporting and the separate ad-format view for YouTube detail. Google notes that an in-feed portion can include Gmail, Discover and YouTube in-feed traffic. Read the report definition before labeling an aggregated row as one publisher or one surface.
Reporting reference: Demand Gen metrics and reporting. Keep channel, format and asset views at their own grain; they are not independent totals to add together.
Channel selection is not channel prioritization
Google began progressively rolling out channel-prioritization controls on 15 October 2026. Its documentation lists Demand Gen prioritization, but not Demand Gen budget allocation. Record availability and the actual setting separately from ad-group channel selection; do not assume every account has the same controls.
Reference: channel prioritization and budget allocation.
3. Read the attribution type behind “Conversions”
Inspect Conversions → Ad event type in native reporting. Click-through, engaged-view and impression-attributed outcomes are different paths. A view-through conversion attributes a separately measured outcome after an ad view; it is not a new lead invented by the impression.
Google currently documents VTC optimization as enabled by default for new Demand Gen campaigns, with video/inventory limits. It can place eligible primary view-through outcomes in the main conversion column. The separate VTC column has broader coverage, so do not add it to the main total as extra customers.
Inspect your actual mode, windows and action. Google's VTC-optimization documentation currently excludes offline conversions and OCI from supported types. Do not assume a CRM-qualified import is compatible with every bidding mode.
Reference: Demand Gen view-through conversion optimized bidding. A different attribution path can explain a reporting mismatch; it does not certify or disqualify the lead.
4. Test one controlled landing journey
- Open the landing page directly. Use an isolated test journey, not repeated clicks on live ads. Try the device and format experience you actually advertise.
- Follow redirects. Record before/after URLs and confirm the intended parameters survive. Remove personal details before sharing them.
- Check tag and consent behavior. A parameter retained in the URL does not prove the tag loaded or the session was collected.
- Submit a failed attempt, then a valid test enquiry. Only the successful server-accepted event should trigger the lead outcome you intend. Mark test records so they are excluded from business reporting.
- Trace delivery. Confirm the opaque lead ID, CRM receipt and correct named action. Test retries without creating duplicate leads or conversion jobs.
These synthetic URLs deliberately lose a GCLID at a redirect. Paste them into the free checker below to see the finding; neither URL is visited by the tool:
Before:
https://example.com/lead?gclid=adp_test_only&utm_source=google&utm_medium=cpc&utm_campaign=demand_gen_test
After:
https://example.com/lead/?utm_source=google&utm_medium=cpc&utm_campaign=demand_gen_testPasted URLs stay in this browser. No URL visits, uploads or saved inputs.
Paste complete http:// or https:// URLs, including their query strings. For a comparison, use URLs from the same test journey. Remove personal information first.
Checks the URLs you paste. Use Google Ads’ URL test and browser diagnostics to verify live redirects, tag loading and consent.
The checker compares strings locally. It does not follow live redirects, inspect consent or prove an attributed Google Ads click. A synthetic identifier tests preservation only. Follow with Google's supported URL test and browser diagnostics for your real journey.
Journey reference: Google's clicks-versus-sessions troubleshooting. Different collection paths, timing and invalid-click filtering can produce different totals.
The runnable acceptance/retry example shows how to keep a lost response from becoming another lead. For reported phone calls, use the call-conversion reconciliation guide.
Comparing ad clicks with analytics sessions? Use the GA4 collection and session-counting diagnostic to separate missing activity from missing campaign attribution.
5. Audit the actions your campaign actually uses
Review the action export for early funnel milestones, overlapping native/GA4 actions and repeated lead counting. Then inspect the campaign's saved goals, including custom goals, and its bidding-mode compatibility. Exported action settings alone cannot prove what an individual campaign optimizes toward.
Runs in this browser. Your action names and settings stay here.
Check campaign goals to confirm bidding eligibility. Custom goals can include secondary actions. Match transaction or lead IDs to verify repeated events.
Use the read-only conversion-action export script and audit instructions. Pasted action data stays in the browser. Choose the business outcome deliberately; a larger raw total is not necessarily progress.
6. Compare qualified outcomes at the same grain
Take a fixed acquisition cohort and qualification cutoff. Compare spend, received enquiries, verified contacts, qualified leads and closed business by the channel/ad-group keys your measurement setup can reliably establish. Keep unmatched and unresolved records visible.
Aggregate spend independently before joining deduplicated lead/outcome records. The synthetic network/outcome SQL example demonstrates this join problem. For Demand Gen, use its actual native channel/ad-format dimensions; do not copy Search Partners labels and pretend they identify Demand Gen inventory.
Give both cohorts the same reasonable qualification delay. Leave cost-per-qualified-lead empty when there are no qualified outcomes. A group with unresolved recent enquiries has an unfinished review, not a proven zero-quality audience.
7. Choose one test that follows the evidence
- Broken journey: fix the redirect, page, form or tag, then repeat the controlled test.
- Wrong signal: fix the action/goal and compatible measurement path before judging a new optimization result.
- Creative or offer mismatch: test a relevant message and format against the intended audience. No security filter repairs a weak offer.
- Channel quality gap: review the available ad-group controls against qualified outcomes. Save the baseline, change one defined element and set a follow-up date and rollback condition.
- Website abuse evidence: inspect the corresponding requests and visits. Use resolved client fields and identity boundaries; a short session or cloud-network label alone is not a fraud verdict.
For selected placement rows, the placement-formatting tool can clean supported entries, but does not apply Demand Gen channel controls. Its read-only PMax export script is for PMax placement impressions, not a Demand Gen performance export. Follow the scope documented for your campaign and account.
Save the review and its next decision
Download the Demand Gen clicks/leads review worksheet. Keep raw customer identifiers out of shared notes and mark synthetic tests separately.
Open the complete worksheet
DEMAND GEN — CLICKS / LEADS REVIEW
Account and currency:
Campaign / ad group / ad / asset IDs:
Review window and account timezone:
Comparable earlier window and business qualification cutoff:
Business outcome to optimize and measure:
CHANNEL AND FORMAT
Actual ad-group channel mode and selections:
Google Display Network inclusion:
Eligible channels shown in this account:
Network/channel report export reference:
YouTube ad-format report export reference:
Any in-feed grouping or other report-grain limitation:
Channel prioritization setting, if available (separate from channel selection):
CONVERSION DEFINITION
Campaign goals, including custom goals:
Chosen action and primary/secondary setting:
Click-through / engaged-view / impression attribution breakdown:
VTC optimization enabled and eligible format/inventory:
Conversion windows and reporting date basis:
Online versus offline outcome path and compatibility:
Potential duplicate browser, GA4, plugin or server senders:
LANDING JOURNEY (mark synthetic tests separately)
URL before redirect / URL after redirect, with identifiers redacted:
Tracking parameters preserved:
Tag and consent behavior:
Mobile load, failed-form attempt, accepted-form response:
Server lead ID / CRM receipt verified privately:
Actual named action triggered, including failure/retry tests:
BUSINESS RECONCILIATION
Channel/ad-group cohort spend:
Received / verified / qualified / sold outcomes:
Unresolved / unmatched / conflicting records:
Qualification delay allowed equally across cohorts:
Spend aggregated separately before joining deduplicated outcomes:
Zero-denominator costs left empty:
DECISION
Finding and evidence:
Single change to test / owner / date:
Expected result and rollback condition:
Review date after the normal conversion and qualification delay:
Keep customer details and raw identifiers out of shared notes.
Low engagement is not proof of bots; attributed conversions are not necessarily click-through leads.Where AdProtektor fits
AdProtektor adds evidence about visits its integration observes. With ConversionOS and fraud protection enabled, configured checks can withhold events associated with blocked visitors. It does not observe an ad impression that never reaches your site, repair a broken form or certify every remaining lead.
Start a free AdProtektor trial to inspect observed visits and configured protection decisions alongside native reporting and your CRM outcomes.
If Ads reports clicks but you cannot find a landing request, use the missing-arrival diagnostic to check click types, destinations, CDN/cache behavior and log coverage before interpreting the gap.