Skip to main content

Qualify leads and track what happens next

Define a qualified lead, route it to the right thank-you page, and have your CRM report bookings and sales back to the variant that produced them.

Written by Ryan

A form fill measures volume. Qualification tells you which variants bring the leads you want, and CRM stages tell you what happened after the form: who was contacted, booked and won. granvl keeps two separate signals on every lead:

  • Qualified: did the lead match what you're looking for? Your rule sets it at submit. Your CRM or your agent can change it later.

  • Outcome: the furthest pipeline stage the lead reached, reported by your CRM (or set by hand).

A lead can be qualified and Lost, or not qualified and Booked. Both are kept, and the Leads tab flags the difference.

Set a qualification rule

  1. Open the funnel and select the Settings tab, then Qualification.

  2. In the Qualification rule card, choose Match all conditions or Match any condition.

  3. Select + Add condition, then pick a field, an operator and a value. Fields and answers come from your funnel's forms.

  4. To mix logic, select + Add group. A group uses the opposite combinator, and groups nest up to 5 levels.

  5. Select Save changes.

The Qualification section of a funnel's Settings tab

Operator

Use it for

equals, does not equal

One answer

is one of, is not one of

A list of answers (pick them from the form's options)

contains

Text that includes a word

is greater than, is greater than or equal to, is less than, is less than or equal to

Numbers such as a balance or budget

is answered (truthy), is empty (falsy)

Whether the question was answered

Before saving, use Test against sample answers to see whether a sample lead comes out Qualified or Not qualified. It runs the unsaved rule in your browser and sends the sample nowhere. Clear rule removes the rule.

The rule runs when the visitor submits. A lead with a missing or invalid answer counts as unqualified. With no rule, every lead counts as unqualified for routing, and the Qualified numbers stay blank.

Your agent sets rules with set_qualification_rule and reads them with get_qualification_rule. set_funnel_form_fields declares each question's answer options so the rule builder can offer them.

Choose how unqualified leads are treated

The Qualification section has these settings. Each takes effect when you select Save changes.

Setting

Default

What it does

Stats display

Total leads

Which conversion totals the funnel shows: Total leads, Qualified only, or Both total and qualified.

Route by qualification

Off

Sends qualified and unqualified leads to different thank-you pages. Needs two thank-you pages. Pick a Qualified thank-you page and an Unqualified thank-you page. Off sends everyone to the default thank-you page.

Show unqualified leads in stats

On

Off hides unqualified conversions from the funnel's numbers. Nothing is deleted, so turning it back on shows them again.

Send unqualified conversions to ad platforms

Off

Off stops server-side conversion events (Meta Conversions API, GA4, TikTok) for unqualified leads, so ad platforms learn from the leads you want. granvl's own analytics still record them.

Count thank-you page views as conversions

Off

Counts a visit to the thank-you page as a conversion. Use it when the form is a third-party embed that redirects to your thank-you page.

Your agent can change the two unqualified-lead switches with set_qualification_settings.

Track outcomes from your CRM

Every lead your forms send carries a hidden granville_lead_id. Store it on the contact in your CRM. When the lead moves through your pipeline, your CRM posts the id and its own stage name back to granvl, and the outcome attaches to the variant that produced the lead.

Get the postback URL

Each domain has its own postback URL. It only accepts leads from funnels on that domain.

  1. Go to Settings > Domains and select Manage on the domain.

  2. Open the CRM Quality tab.

  3. Under Postback URL, select Copy.

Rotate creates a new URL, and the old one stops working immediately. Your agent can get the URL with get_qualify_webhook_url (pass the domain).

Funnels without a domain use a workspace URL. Create it from the funnel's Settings > Qualification section under Outcome webhook: select Create URL and copy it right away, because it's shown only once. New URL replaces it and the old one stops working.

Send updates from your CRM

Set up an automation in your CRM that runs when a deal or opportunity changes pipeline stage. It sends a POST request to the postback URL with the header Content-Type: application/json and a body like this:

{ "lead_id": "<granville_lead_id>", "stage": "Appointment Booked", "value": 1200 }

Field

Required

What to send

lead_id

Yes

The granville_lead_id the form sent. Older setups that send session_id still work.

stage

One of stage or qualified

Your CRM's own pipeline stage name, as it appears in the CRM.

qualified

One of stage or qualified

true or false.

value

No

Deal amount.

reason

No

A short note, such as why a deal was lost.

For HubSpot, send the stage label rather than its internal id, or map the ids in CRM Quality.

Map your CRM's stage names

The first time your CRM sends a stage name, it appears in the domain's CRM Quality tab. Common names map themselves. Any other name stays unmapped and doesn't count until you map it.

  1. Go to Settings > Domains, select Manage, then open CRM Quality.

  2. For each row under CRM sends, choose a stage in granvl stage, or choose Ignore to drop the name from reporting.

  3. Select Save mapping.

Mapping a name also updates every past lead that carried it. To set up a stage before your CRM sends it, type it in Add a name and select Add. Every funnel on the domain shares the map, and the funnel's Qualification section shows it with a Manage on domain link. Your agent can map names with set_domain_crm_stages.

granvl's lead stages

Stage

Meaning

Contacted

Someone reached out: a call attempted, a text or email sent.

Conversation

A real two-way exchange happened.

Booked

Appointment or meeting scheduled.

No show

Booked but didn't turn up. Can still be rebooked.

Held

The appointment or meeting took place.

Quoted

Estimate, proposal or application sent.

Won

Closed, sold, funded or paid. Carries the deal value.

Bad contact

End state. Wrong number, fake or unreachable: the form attracted junk.

Not a fit

End state. A real person your rule should have screened out.

Lost

End state. A real prospect who chose not to buy.

Progress stages run in the order above, and leads only move forward: a late Contacted update doesn't undo Booked. An end state stops the lead, and only Won can move it again.

When an update includes a stage but no qualified value, the stage sets it: Conversation and later stages (including No show and Lost) mark the lead qualified, Bad contact and Not a fit mark it not qualified, and Contacted leaves it as it was.

Mark a lead or record a sale from your agent

  • mark_lead_qualified marks a single lead qualified or not qualified, with an optional stage, deal value and note. It overrides the rule's result, and a later update from your CRM overrides it.

  • record_external_conversion reports a conversion that happened somewhere else, such as a sale on your store or a booked call. granvl adds a gv_cid click id to outbound links on your pages; send it back with the conversion and it's credited to the variant that sent the visitor and forwarded to the funnel's ad platforms. Repeat calls with the same external_id are ignored, so retries are safe.

Read lead quality

Lead quality on the Analytics tab

The funnel's Analytics tab has a Lead quality section for the selected period (form submissions, bots excluded).

Number

What it counts

Leads

Form submissions in the period.

Qualified

Leads marked qualified, by your rule at submit or later by your CRM or by hand. Shows a dash until the funnel has a rule.

Booked, Won

Leads your CRM reported at that stage or further along. They appear once your CRM has reported them.

Rates divide by all of the variant's visitors. Leads are grouped by submission date, so outcomes your CRM reports later still count toward the period the lead came in.

Once your CRM reports outcomes, two more views appear:

  • CRM outcomes shows, for each variant, how many leads reached each stage. Stage counts include leads that went further (a Won lead also counts as Booked and Held), and end states are shown separately. Leads your CRM hasn't reported on are not counted as Lost. Columns hides stages you don't use (for every funnel on the domain).

  • Lead outcome shows the share of each variant's leads that reached each stage. Closed is Won divided by leads.

If a variant's qualified rate and booked rate are far apart, a note suggests your rule may need review.

Pick the leading metric

Leading metric chooses the rate the funnel compares variants on. The leading variant gets a Leading label. It's an observed rate, not a confirmed test winner.

  • Automatic: picks the best signal the funnel has. Won rate once any lead is won, then Booked rate once any lead reaches Booked or later, then Qualified rate once you have a rule, otherwise Conversion rate.

  • Conversion rate · filled the form

  • Qualified rate · passed your rule

  • Booked rate · appointment set

  • Held rate · appointment held

  • Won rate · deal closed

Options stay unavailable until the funnel has that data. Your agent can set it with update_funnel (leading_metric).

The Qualified column in the variants table on the Overview tab shows each variant's qualified count.

The Leads tab

The Leads tab lists each submission's answers (never contact details) for 180 days.

The Leads tab with answers, qualification, CRM outcome and delivery status for each lead

Column

What it shows

Qualified · Rule

Qualified, Not qualified, or Not evaluated when no rule ran.

Outcome · CRM or manual

The furthest stage reported, and who reported it. Awaiting CRM update until the first report. A stage name that isn't mapped yet shows UNMAPPED.

Updated

When the outcome last changed.

Delivery

Whether the lead reached your destinations (see Set up forms and lead delivery).

Lead source

The visit's UTM source and campaign.

Filter by Variant, Delivery, Verification, Outcome and Differences. Rule / CRM differ shows leads where the qualified result and the reported stage disagree, for example a lead marked not qualified that reached Booked. Select a lead to see every answer, which contact fields were present (names only), delivery per destination and the visit's UTMs. Export CSV downloads every lead that matches your filters.

Related articles

Did this answer your question?