Skip to main content

Google Ads

Google Ads lead form conversions are attributed to click date, not submission date

5 min read

The account had five lead form assets. Two were old promotional forms attached only to removed video campaigns. One was a generic "Request a free quote" form that had been detached from everything. And two (the two that mattered), had exactly the same name.

Asset ID

Headline

Webhook

Policy status

..083278

Get a Free Quote Now

Zapier webhook: live

Approved (limited)

..121186

Get a Free Quote Now

Empty

Approved

..200745

Request a free quote now.

None

Approved

..104137

EOFY Bonus While Stock Lasts

None

n/a

..661891

EOFY Bonus While Stock Lasts

None

n/a

Same headline, same call to action, same field set. In the interface they are indistinguishable without opening each one. One pushed every submission to the CRM through a webhook. The other had a blank webhook field and had been quietly collecting leads that nobody was automatically told about.

What we found on arrival

Every lead form link on every enabled campaign, 24 of them, had been paused during an account restructure on 24–25 August. The forms existed; nothing was serving them. Lead form submissions, which had been 8–10% of the account's conversions, went to zero.

On inspection, the links split between the two same-named assets:

Asset

Links on enabled campaigns

Link status

..083278 (webhook)

9

Paused

..121186 (no webhook)

14

Paused

..200745

1

Removed

Fourteen campaigns, including both Performance Max campaigns, had been pointed at the form with no webhook. Their leads were landing in Google Ads and nowhere else.

What we did

Two operations, in order, on 3 September.

Step

Operation

Count

1

Remove every link to the no-webhook form; create a link to the webhook form in its place

14 removed, 14 created

2

Enable every link to the webhook form

23 enabled

Verification afterwards, via the API rather than the confirmation screen:

Asset

Links on enabled campaigns

Status

..083278 (webhook)

23

ENABLED

..121186 (no webhook)

14

REMOVED

Account-level lead form links (customer_asset)

0

n/a

Asset-group lead form links (Performance Max)

0

n/a

One form serving the whole account. No leakage at the account level or through asset groups. Done.

Then the removed form kept converting

Three days later the client asked why the form they'd removed was still showing leads.

The API said it wasn't serving:

Date

Old form impressions

Old form clicks

New form impressions

New form clicks

30 Aug

6,014

197

0

0

31 Aug

2,837

72

0

0

1 Sep

3,277

101

0

0

2 Sep

1,603

37

0

0

3 Sep (changeover 14:26)

951

27

2,494

56

4 Sep

0

0

5,813

108

Clean handover mid-afternoon on the 3rd. Zero impressions on the old asset from the 4th onward. A removed asset cannot serve an impression.

But the lead-form conversion report showed the old form's totals still growing.

Because conversion date is click date

Google Ads attributes a lead-form submission to the date of the click that led to it, not the date the form was submitted. And it attributes it to the asset that served on that click.

A person who clicked an ad on 29 August, saw the old form, and then came back on 5 September to submit the form on the ad they'd bookmarked (or simply had the tab open), produces a conversion dated 29 August, on the old form. For as long as the click-through lookback window runs, conversions keep arriving on days before the changeover, against the asset that was live then.

Date range in the report

Old form shows

Why

Includes days before 3 Sep

Growing totals

Late submissions on earlier clicks

4 Sep onward only

Zero

It didn't serve any clicks to attribute to

The removed form wasn't receiving leads. The report was answering a different question from the one being asked.

What the day-by-day actually showed

Lead-form submissions by asset, by click date:

Date

Old form (no webhook)

New form (webhook)

25 Aug

7.0

0

26 Aug

3.0

0

27 Aug

4.0

0

28 Aug

4.0

0

29 Aug

7.7

0

1 Sep

2.0

0

2 Sep

0

0

3 Sep

0

1.0

4 Sep

0

2.0

Total

27.7

3.0

Every one of the 27.7 old-form submissions was on a click date before the changeover. Every one of the new-form submissions was after it. Exactly what you'd expect if the switch was clean, which it was.

What the old form had been catching

Of those 27.7 submissions on the no-webhook form, by campaign:

Campaign

Submissions

Performance Max (one state)

13.2

Battery search (four campaigns)

14.5

Nearly half came from a single Performance Max campaign. None of them reached the CRM through the webhook, because there was no webhook. The business had been downloading that form's leads manually from the Google Ads interface every day, which worked, as long as somebody remembered to do it, and as long as nobody assumed the automation was handling it.

That's not a lost-leads story. It's a single-point-of-failure story, and it was one holiday away from becoming a lost-leads story.

The policy flag that made the good form look worse

One more wrinkle. The working form carried a policy status of Approved (limited), with a financial-services verification flag. The no-webhook form was plain Approved.

Asset

Approval

Restriction

Webhook form

Approved (limited)

Financial services verification missing in 11 countries: Austria, Belgium, Denmark, Finland, Hungary, Iceland, Liechtenstein, Luxembourg, Netherlands, Norway, Sweden

No-webhook form

Approved

None

The account advertises exclusively in Australia. The restriction had no effect: confirmed by the 5,813 impressions the form served the day after the switch. But side by side in the interface, the broken form had a clean green marker and the working form had a yellow one. Anyone tidying up by policy status would have picked the wrong one.

How to read the report correctly

If you want to know

Set the date range to

Expect

Whether the old form is still serving

Changeover date + 1, onward

Zero impressions, zero clicks, zero conversions

Total leads the old form ever produced

All time

A number that keeps growing for the lookback window

Whether the new form is receiving conversions

Changeover date onward

Non-zero within a day or two

Which form a specific conversion belongs to

Look at the click date, not the conversion date

The asset live on the click date

If the old form shows anything in a window that starts after the changeover, something is actually still serving it, check customer_asset and asset_group_asset, the two places a form can be attached that don't show up in campaign settings.

What to do about same-named assets

Rule

Why

Name lead form assets by function and something unique, an ID suffix, a date

Two identical names is how this started

Check the webhook field on every form before pointing anything at it

An empty webhook is invisible in reports

After any repoint, verify via impressions by date, not conversions

Conversions backfill; impressions don't

Audit customer_asset and asset_group_asset as well as campaign_asset

A form can serve from three levels

Keep the manual download as a backup, not a process

It works until it doesn't

The principle

Google Ads reports are answers to specific questions, and the question is not always the one on the column header. "Conversions by lead form" is really "conversions by the lead form that served the click, by click date." Once you know that, the report is fine. Until you know it, it will tell you a removed asset is alive.

Related services

Filed under

google-adslead-form-extensionslead-formsattributionreportingwebhooks

Keep reading

More from Insights