Weigh quote requests by estimated deal size
Each quote request sends a generate_lead event with a value attached, so pages bringing bigger requests stand out from pages bringing many.
New submission on your quote request form
Send a GA4 generate_lead event with product interest and an estimated value as parameters
One-directional. A submission triggers the action — nothing is written back into your form.
Counting quote requests treats a small repair job and a year-long project as the same conversion. For anything sold by proposal, that number sends budget towards the pages producing the most requests rather than the best ones.
The fix is to give the event a value. B2B sellers and agencies convert the budget band into a number inside the Zap, send it as value with a currency, and the acquisition report starts ranking landing pages by what the requests are worth instead of how many arrived.
Setting it up
- 1
Publish the quote request form in formformform with "Estimated Budget" as a set of bands rather than an open number. Bands are easier to answer honestly and far easier to convert into a value.
- 2
Decide what each band is worth before building anything. A mid-point per band is enough, since the point is to rank pages rather than forecast revenue.
- 3
Copy the Measurement ID from Admin → Data Streams and create a Measurement Protocol API secret for this Zap.
- 4
Create the Zap with formformform as the trigger app, New Submission as the event, and the quote request form selected.
- 5
Insert a Zapier Formatter step with a lookup table that turns each "Estimated Budget" band into the number you agreed, with a fallback of zero for anything unmatched.
- 6
Add the Measurement Protocol action, set the event name to generate_lead, and pass value from the formatter output together with a currency parameter such as GBP or EUR. GA4 ignores a value that has no currency beside it.
- 7
Map "Service Type" into a product_interest parameter and "Project Timeline" into a lead_timeline parameter, then register both as event-scoped custom dimensions.
- 8
Send one test request in each band, check the value in Realtime, then mark generate_lead as a key event and turn the Zap on.
What maps where
Using the Quote Request Form as the starting point. These are its real fields — swap in your own and the mapping works the same way.
| Form field | Google Analytics |
|---|---|
| Estimated Budget | Converted by a Zapier lookup table into the numeric value on the generate_lead event |
| Service Type | product_interest event parameter, registered as an event-scoped custom dimension |
| Project Timeline | lead_timeline event parameter, so near-term work can be reported apart from next year's |
| Email Address | Hashed into user_id if you use one; the address stays out of Google Analytics and goes to the CRM in a separate step |
| Project Description | Not sent — free text has no place in an event parameter, so it travels to the CRM with the rest of the request |
Variations worth knowing
Read "Service Type" for the work you actually want more of and build the value from both halves: the band gives the size, the service gives a multiplier. Do the arithmetic in a Zapier formatter step, since formformform has no calculated fields.
Google Analytics receives a weighted count and nothing else. Add a CRM action to the same Zap carrying "Full Name", "Phone Number" and "Project Description", so the salesperson has the request in full while the reporting side stays anonymous.
If something isn't arriving
Two usual causes: the lookup table returned nothing because a band label was edited on the form and no longer matches, or the currency parameter is missing and GA4 dropped a value it could not denominate. Add a fallback row to the lookup and confirm currency is sent on every event.
Cap the top band at a realistic mid-point rather than the biggest number anyone has ever typed. A single outlier in an open-ended band will out-weigh a month of ordinary requests and point next quarter's budget at whichever page happened to catch it.
Frequently asked questions
Is the value in the event real revenue?
No, and it should not be read that way. It is a weighting so reports can rank requests by likely size. Revenue belongs in your accounting or CRM records; this number exists only to compare landing pages and campaigns against each other.
Should I use the ecommerce reports instead of an event value?
You can send a purchase-style event with items, but a quote request is not a sale. Keeping generate_lead with a value avoids filling the ecommerce reports with money that has not been agreed, let alone invoiced or collected.
Can formformform take the payment once a quote is accepted?
Yes. Add products and priced options to the form, then collect payment through secure hosted checkout with Stripe, PayPal, or Square. Payment status is tracked alongside the response.
Related automations
- Count demo requests as a generate_lead conversion
Each demo request fires a GA4 generate_lead event, so completions sit in your reports next to the campaigns that produced them.
- Log support requests with the issue category attached
Each support request sends a form_submit event carrying the issue category, so you can see which topics drive people off the docs.
- Measure newsletter signups as a sign_up event
Every newsletter subscription sends a GA4 sign_up event, so you can build a funnel from landing page visit to completed signup.
- Record webinar registrations as a conversion event
Every webinar registration fires a GA4 sign_up event carrying the session name, so registrations can be attributed campaign by campaign.
- Track survey completions with the rating attached
Every product survey response sends a custom feedback_submitted event carrying the rating, so respondents become a segment you can analyse.
- Add webinar registrants to a remarketing list
Every webinar registration joins a Customer Match audience you can run follow-up campaigns to after the session.
Build the form first
The automation needs somewhere to fire from. Publish a form, connect it once, and every submission from then on runs this flow.
Start free