Guide 152 · Events · GA4 + Tag Manager
Track leads with the recommended generate_lead event: value, currency, and the GA4 Event tag
A lead form that reports only a count hides the value of the leads. The generate_lead event is a recommended event for every property and for lead generation, with two prescribed parameters — value and currency — and this guide builds it as a GA4 Event tag that fires when the form or request is accepted.
After the tag is published, a test lead shows in DebugView as a generate_lead event with value and currency set, and the Realtime report lists it under Event count by Event name within minutes.
Download the container fragment: the generate_lead event container fragment (JSON) (3172 bytes, MD5 3cddd0b1594e6a7983aeb8225be2d27e). It holds one GA4 Event tag named GA4 - generate_lead, the Custom Event trigger that fires when the data layer event equals generate_lead, and the two data layer variables for value and currency. The Measurement ID is left as G-XXXXXXXXXX for you to replace. Import it from Admin, then Import Container, choosing Merge if the container already has tags.
What you need
- The Google tag already installed through Tag Manager. This guide adds one event tag beside it.
- A lead your site can signal. The push runs when the form is accepted or the request is received — the confirmation, not the submit button.
- A value and a currency per lead. Google's prescribed parameters for
generate_leadarevalue, a number, andcurrency, a 3-letter ISO 4217 code such asUSD. The value must be a number, not a string, and currency must be set when value is set.
The worked example
The test below is three leads in one week, each with a value assigned by the sales team. The total is the figure the revenue reporting later shows.
| Lead | Value (USD) |
|---|---|
| First lead | 50.00 |
| Second lead | 120.00 |
| Third lead | 75.00 |
| Total lead value | 245.00 |
| Average per lead | 245.00 / 3 = 81.67 |
Those figures were recomputed here before publication: 50.00 plus 120.00 plus 75.00 is 245.00; 245.00 divided by 3 is 81.6667, rounded to 81.67 per lead. The data layer push that carries one of those leads is the standard form:
dataLayer.push({
event: "generate_lead",
value: 120.00,
currency: "USD"
});
The trace
- Push the lead to the data layer on acceptance. When the form is accepted, run
dataLayer.push({ event: "generate_lead", value: 120.00, currency: "USD" }), with the value set to the lead's assigned value as a number and the currency set to the 3-letter code. The event name isgenerate_lead, exactly as Google spells it. - Create the two data layer variables. In Tag Manager, go to Variables, then in User-Defined Variables create one Data Layer Variable per parameter:
DLV - valueforvalueandDLV - currencyforcurrency. - Add the GA4 Event tag. Go to Tags, then click New. Name it
GA4 - generate_lead. In Tag Configuration, choose tag type Google Analytics: GA4 Event. Enter your Measurement ID. In Event Name, entergenerate_lead. Under Event Parameters, add two rows:valuewith{{DLV - value}}andcurrencywith{{DLV - currency}}. - Set the trigger. In Triggering, click the trigger box and choose New, then choose trigger type Custom Event. Set Event Name to
generate_leadand choose All Custom Events. Click Save, then Save the tag. - Check it in Preview and DebugView. Click Preview, enter the site URL, and click Connect. Submit the form with a value of 120.00 and currency USD. In Tag Assistant, the
generate_leadevent must appear in the left panel with the tag under Tags Fired. Then open DebugView (Admin, then Data display, then DebugView) and confirm the event shows withvalue120.00 andcurrencyUSD. - Publish it as a version. Click Submit at the top right, select Publish and Create Version, name the version, and click Publish.
Dead ends
DEAD END — VALUE SENT AS A STRING. A value of "120.00" in quotes is text, not a number, and GA4 cannot sum it. The push sends the value as a bare number, 120.00, and the tag passes it through the variable unchanged.
DEAD END — VALUE WITHOUT CURRENCY. Google's rule is plain: value must be accompanied by currency. A value with no currency is recorded with the right count but the revenue reporting cannot use it, and it will not be sent to Google Ads.
DEAD END — THE TAG FIRES ON A FAILED FORM. A submit that fails validation is not a lead. If the trigger is the submit instead of the acceptance, the report counts every failed attempt as a lead with a value attached.
End state
One tag, one trigger, two parameters. A lead shows in DebugView within a minute of the test, in Realtime within minutes of publishing, and in the Events report within 24 hours, with the value summed per row. Mark generate_lead as a key event if a lead is one of the few actions that matter to the business — the key event guide covers that step, and the event value guide covers how value and currency work on any event.
Sources
- Analytics Help — [GA4] Recommended events — generate_lead is a recommended event for all properties and for lead generation; it is sent when a user submits a form or a request for information
- Google Analytics developer documentation — GA4 event reference — the generate_lead event and its prescribed parameters, value and currency
- Analytics Help — Create or modify key events — value must be a number and must be accompanied by currency in the ISO 4217 format
- Tag Manager Help — Set up Google Analytics events in Tag Manager — the GA4 Event tag, the Measurement ID, the event name, the trigger, and Preview verification
Checked 11 November 2026. The click paths above are the ones in Google's help and developer pages, opened 11 November 2026. No step in this guide was run inside a live Analytics property or a live Tag Manager container, because both need a Google sign-in and this site does not sign in as anyone. What was run: the container fragment was validated structurally in Python 3.12.3 — export format version 2, unique IDs, the tag's firing trigger resolves to the Custom Event trigger in the file, and both data layer variable references exist as variables — and the worked example was recomputed: 50.00 + 120.00 + 75.00 = 245.00 total lead value; 245.00 / 3 = 81.67 average per lead. Google moves menu items without warning; if a path on this page no longer matches, the linked help page is the current map.