Measure Lead Generation
Measure successful forms, applications, and demo requests with events, attribution, and funnels.
Use Hardal to understand which campaigns generate leads and where visitors stop before submitting a form. The same approach works for demo requests, applications, and contact forms.
1. Choose the successful outcome
Send generate_lead after your application confirms a successful submission. A click on Submit is not enough: validation or a server error may prevent completion.
Use the Standard Events lead schema for the fields you need. Keep personal information out of URLs and free-text event parameters. Supply permitted identity through the documented identity fields and consent flow.
If the outcome is confirmed on your server, use API & Server-side Setup. For a browser-confirmed outcome, use the web tracker after it has loaded:
hrd.track("generate_lead", {
lead_id: lead.id,
form_name: "demo_request",
product: "analytics"
});
Replace lead.id with the unique ID returned by your application for the confirmed submission. form_name and product are custom context parameters in this example. They do not create separate reports or automatically appear as reporting dimensions.
2. Verify the event
Submit one test form. In Engagement → Events, find generate_lead and open the event detail. Check the source, time, parameters, and session. Inspect the related session to confirm the surrounding page activity.
3. Analyze acquisition
Open Acquisition → Configuration and choose generate_lead under Conversion Events. Review the attribution model, lookback window, traffic scope, date range, and source.
Compare channels or campaigns in Traffic Distribution. Interpret conversion counts using the selected configuration; they are not necessarily the count of all received form events.
4. Build a submission funnel
Create an ordered funnel such as:
- Page path
/pricing. - Page path
/request-demo. - Event
generate_lead.
Use the actual paths and event name from your implementation. Compare groups using the supported breakdowns to find where the journey loses visits. An ordered funnel can exclude successful submissions that did not follow your chosen sequence.
5. Define engagement separately
Add generate_lead to Key Events if you want sessions containing it to count as engaged. Acquisition conversion events and engagement selection are separate settings.
A submitted lead does not by itself mean a qualified lead or a completed sale. Send later business outcomes explicitly when you need to measure them; collection alone does not automatically join your CRM lifecycle to the visit.