Monta ApS · 20114015

Two of your three lead channels
capture one field.

1Marketing form

monta.com/en/contact-sales/form 8a468049-886f-4fef-868d-15736c613c93
Tell us about yourself and your use case
First name*
Last name*
Business email*
Phone*
Country*Denmark
Charge points*101-500 ▾
firstnamelastname emailmobilephone countrynumber_of_cps_v3 inbound_form_monta_customer_type_v4 lead_info_long sources___inbound___self_reported_dropdown
9 fields + 5 UTM · routable

2Whitepaper download

Download the whitepaper
Email*
Submit
email firstnamelastname mobilephonecountry number_of_cps_v3 inbound_form_monta_customer_type_v4 lead_info_long sources___inbound___self_reported_dropdown
1 field · nothing to route on

3Webinar registration

Register for the webinar
Email*
Submit
email firstnamelastname mobilephonecountry number_of_cps_v3 inbound_form_monta_customer_type_v4 lead_info_long sources___inbound___self_reported_dropdown
1 field · nothing to route on

Three more live forms

4Starter application monta.com/en/starter-plan/ · also /pricing/
Name*
Email*
Charge points*0-200
Business typenot asked
8 fields · routable, but no business type
First name*
Last name*
Email*
Countrynot asked
4 fields · no country, so nurture can't split by market
Email*
1 field · highest intent, lowest information

What I'd change on each form

6 live forms · portal 20114015

#FormWhat I'd change
1Marketing form
/en/contact-sales/
The only form that already asks the three things routing needs, so use its field list as the template for the rest. One fix: the charge-point dropdown offers 101-500, but your pricing splits Starter and Advanced at 200, so anyone picking that band could be either tier. Split it into 51-200 and 201-500.
2Whitepaper download
/en/downloadables/…
Two changes. First, ask for more than an email, spread across visits so registrations don't drop: company and country on someone's second download, business type and charge points on their third. Second, add a hidden field recording which whitepaper was taken. All 11 report as one form today, so you can't see which asset actually brings in leads.
3Webinar registration
/en/events/…
Same staged questions as the whitepaper. Then replace the 13 separate forms with one, plus a hidden event name field. Every webinar is its own form ID today, so nothing rolls up.
4Starter application
/en/starter-plan/
Add one dropdown: do you operate a charging business? Without it a property owner and a charge point operator fill in an identical form, and those two belong in opposite places. One goes to a partner operator, the other to sales.
5Product interest
/en/products/monta-ai/…
Someone asking to try the product is the warmest lead on the site, and this form asks for less than the newsletter does. Add charge points and business type here before anywhere else, and fire a same-day task to an SDR. Intent this high goes cold in days.

What I'd change first

One field fix, one property audit, and one progressive-capture strategy

Two properties block the routing before it starts

1

The charge-point answer doesn't match your own pricing

Today
On contact sales and starter application, the charge-point dropdown offers 0 / 1-10 / 11-30 / 31-50 / 51-100 / 101-500 / 501-1000 / 1001+
Costs you
Your pricing page puts Starter at up to 200 charge points and Advanced at 200+. The 101-500 option covers both sides of that line, so someone who picks it could belong to either tier. Every lead who picks it has to be read by a person.
Change
Change the two options to 51-200 and 201-500.
2

Your property names end in _v3 and _v4

Today
The two properties routing depends on are number_of_cps_v3 and inbound_form_monta_customer_type_v4. The _v3 and _v4 suffixes suggest versioned properties. I'd audit their history and dependencies before consolidating anything.
Costs you
Historical answers may be split across versioned properties, which would make reports incomplete. I'd confirm that through property history and dependency checks before touching anything.
Change
If duplicates exist: backfill one canonical property, update the workflows and reports that read it, then archive the old versions.

Three of the six forms capture email and nothing else

The obvious fix is to put eight fields on the webinar form. I wouldn't.

Instead I'd use progressive fields. You give the form a ranked list of questions but it only ever shows three at a time. When someone returns, HubSpot recognises them from the tracking cookie, hides what it already has answers to, and shows the next three. The form always looks short. You learn more each visit.

One caveat. Progressive fields only work in HubSpot's legacy form editor. The new editor doesn't support them.

So if Monta is already using the new editor, the best alternative is probably to keep the forms short and use conditional questions based on what you already know about the lead. Another option is to enrich the data after they convert instead of asking for everything in the form.
Which visitWhat the form asks for
1st — the webinar or whitepaperEmail only. Unchanged, so conversion doesn't drop.
2nd — any other gated assetFirst name, last name, company, country
3rd — any other gated assetBusiness type and charge points — routable from here
Thank-you page, every timeAn optional "Book a demo", pre-filled with what's already known

Mette Rask

Contact · created 2 minutes ago from Marketing form (website)

MR

Mette Rask

Head of Property

mette@nordiskejendomme.dk

Copenhagen, Denmark

Company (1)

NameNordisk Ejendomme A/S
Domainnordiskejendomme.dk
IndustryReal estate

Routing outcome

Lead bucketForward to Operator
Routing sub-motionEnterprise assist
Routing methodDeterministic + AI read
Routing confidence86
Routed at14:02, 3 Sep 2026
SLA due14:02, 4 Sep 2026

Proposed qualification properties ● new property

Lifecycle stageMarketing Qualified Lead
Business modelSite owner
Operates a charging businessNo
Charge points (banded)201–500
Charge points (numeric)240
Sites in scope30
Charging use caseMulti-family residential
Buying timeline0–6 months
CountryDenmark
Original sourceOrganic search
Self-reported sourceSearch engines
Engagement score44 — Engaged

Activity

14:02 · Workflow
Bucket set to Forward to Operator, sub-motion Enterprise assist
14:02 · Workflow
240 and 30 extracted from free text by AI, confidence 86
14:02 · Form
Marketing form (website)
13:58 · Page view
/en/pricing/ — 2m 41s
13:54 · Page view
/en/business-solutions/ — multi-family
28 Aug · Email
Clicked "Stay in Charge" — August issue
19 Aug · Download
Designing for experience: public EV charging sites

WF-03 · Inbound routing engine

Contact-based · re-enrolment on qualification change

Routing results

The seven sample leads, run through WF-03

LeadChannelModelCPsBucketDeciding rule

The two that break a simple ruleset

1

Nordisk — big, but not a sales lead

240 charge points looks like a large deal. It isn't. Nordisk owns buildings, it doesn't run charging, so there is nothing to sell them.

2

Sunhill — real, just not yet

A council looking now, with a tender next year. None of the four buckets fit, and disqualifying it throws away a deal you had twelve months' warning about.
So it keeps a real bucket — SDR — and takes a status: Watchlist, with a date to come back.

Two decisions I'd want to argue about

1

Jonas isn't a bad lead. He's the wrong kind.

One charger at home. Not a sales lead — but still a Monta customer, just for the app rather than the platform. Send him to Monta Charge and keep him out of B2B email.
If consumer submissions are a meaningful share of the 280, this redirect removes real manual work. I'd measure the actual share first.

2

GreenFleet has been engaged for months

Two webinars, eight emails opened, and the only thing on their record is an email address.
As far as the routing is concerned, they're a stranger.

Handoffs

What happens after a lead lands in a bucket · WF-04, WF-05, WF-10

WF-04  SDR handoff

  1. Rotate to an owner from a regional rotation list: Nordics, DACH, UK & Ireland, France & Benelux, Iberia, rest of world.
  2. Create a task, due in 4 hours for Enterprise and 24 for Mid-market. The body is templated with bucket, charge points, use case, timeline, routing reason and the last three page views.
  3. Slack the regional channel — Enterprise only. If everything is urgent, nothing is.
  4. At 4 hours, if lifecycle is still MQL, remind the owner.
  5. At 48 hours, add to the SDR unworked list and notify the sales manager.
  6. After 5 days, return the lead to nurture with the bucket preserved.

Goal: lifecycle reaches Sales Accepted. A lead nobody touched becomes a marketing problem again.

WF-05  Forward to Operator

Self-serve directory

  1. Email three operators matched on country and use case, each behind a unique tracked link carrying the contact ID.
  2. A click writes monta_referred_operator.
  3. No click in 14 days, one follow-up, then nurture.

Enterprise assist

  1. Task to partnerships, not an SDR, due in 24 hours.
  2. Create a partner referral record, associated to the contact, the company and the operator.
  3. At 30 days, task to log the outcome. Unlogged at 60 days, it escalates.

Tier note: the partner referral record is a custom object, which needs Enterprise. On Professional I'd track the referral as a deal on its own pipeline, or as three contact properties — referred operator, referral date, outcome. Less clean, same closed loop.

WF-10  Preventing leads from going cold

  1. Runs daily over anything where the bucket was set more than 14 days ago and lifecycle hasn't moved.
  2. Escalate once to the owner's manager.
  3. Then hand the lead back to marketing, bucket preserved, so it re-enters nurture instead of sitting in a queue.

Leads will go stale. The system needs a defined moment where marketing takes them back, rather than letting them rot in someone's queue.

The lists that make it visible

SDR — unworked past SLAEscalation
Forward to Operator — no outcomeQuarterly reconciliation
Watchlist — due for re-qualificationBecomes an SDR task

The build · ten workflows

Build-ready workflow specification for portal 20114015 · none of it is installed yet

Workflows · WF-01 to WF-05

WF-01Inbound normalisationEvery form submission. Tidies the data before anything branches on it.

Contact-based · enrols on any of the 6 forms · re-enrols on every submission

  1. Wait 2 minutes. Lets enrichment and the tracking cookie settle, so nothing branches on half-written data.
  2. Set first-touch channel — only if empty. Uses the "don't overwrite" behaviour, otherwise the latest touch quietly eats the first one.
  3. Copy form values into the new property names.
  4. Normalise country. The form is free choice from 250 countries, so "UK", "United Kingdom" and "Great Britain" all arrive and none of them match each other.
  5. Set profiling stage = number of submissions, capped at 3.
  6. Associate the company. Match on email domain, or create the company record.
  7. Hand to WF-02 or WF-03 depending on whether business model is known.
WF-02Progressive profilingBusiness model unknown. Shrinks the unroutable pile deliberately.

Enrols when business model is unknown AND profiling stage < 3

  1. Three forms in and still unidentified? Add to the Profiling incomplete list, send to generic nurture, set bucket = Manual triage with a low-priority task. Stop. No SDR ever sees it.
  2. Otherwise send the asset they asked for, with a thank-you page offering a short pre-filled form. Pre-filling makes the ask feel smaller than it is.
  3. Wait 3 days.
  4. Business model known now? Yes → WF-03. No → one more nurture email offering the next most relevant asset, then stop.

This is the honest answer to "route all 280 automatically". Some can't be routed yet. The job is to shrink that group on purpose rather than pretend it's empty.

WF-03Routing engineThe decision tree. The main one.

Enrols when business model is known AND bucket is unknown · re-enrols on change of model, band or operates-charging-business

  1. Custom code action (Data Hub Pro). Claude reads the free text and writes charge points, sites, confidence and reason.
    No-code fallback: skip it, route on form fields only, and accept that the 10–15% of leads whose dropdown and paragraph disagree get routed wrong.
  2. Branch on confidence. Under 60 → Manual triage plus a 24-hour task, and it ends there. 60–79 → continue but flag for review. 80+ → continue.
  3. Branch on business model. Five paths:
    Private individual → Disqualified, consumer sequence, suppression list, no task and no notification
    Site owner → Forward to Operator. ≥100 points takes the enterprise-assist path, under 100 the directory
    Operator / fleet / utility / parking → ≥200 SDR Enterprise · 51–200 Starter or SDR Mid-market depending on self-serve intent · ≤50 Starter
    Solution provider → SDR Partnerships regardless of size. Their client base is the opportunity, not their own estate
    Public sector → 0–6 months SDR active; longer, or a tender mentioned → still SDR, with lead status = Watchlist
  4. Stamp the bucket date and method, and write the reasoning to the timeline so the record explains itself.

Business model decides the bucket. Size only decides who handles it.

WF-04SDR handoffBucket = SDR and lead status is not Watchlist. Gets it in front of a person with a clock on it.
  1. Rotate to a regional owner — Nordics, DACH, UK & Ireland, France & Benelux, Iberia, rest of world.
  2. Set lifecycle to Marketing Qualified Lead.
  3. Create a task, due in 4 hours for Enterprise and 24 for Mid-market. Templated with bucket, charge points, use case, timeline, routing reason and the last three page views.
  4. Slack the regional channel — Enterprise only. If everything is urgent, nothing is.
  5. 4 hours: still MQL? Remind the owner.
  6. 48 hours: add to the SDR unworked list and notify the sales manager.
  7. 5 days: back to nurture, bucket preserved.

Goal is lifecycle = Sales Accepted.

WF-05Forward to OperatorBucket = Forward to Operator. Two paths, both measurable.

Self-serve directory

  1. Email three operators matched on country and use case, each behind a unique tracked link carrying the contact ID.
  2. A click writes the referred operator to the record.
  3. No click in 14 days → one follow-up → nurture.

Enterprise assist

  1. Task to partnerships, not an SDR, due in 24 hours.
  2. Create a partner referral record linked to contact, company and operator.
  3. 30 days → log the outcome. Unlogged at 60 → escalate.

The referral record is a custom object, which needs Enterprise. On Professional: a deal on its own pipeline, or three contact properties.

Today this is a directory page and a "contact them" link. Once they leave that page you know nothing.

Workflows · WF-06 to WF-10

WF-06Starter application reviewBucket = Starter. The reviewer confirms rather than investigates.
  1. Auto-check the three fit criteria the pricing page already implies: under 200 charge points, an operator business, a supported country. All three pass → Pre-approved.
  2. Task the review owner with the checks already done, due in 48 hours.
  3. Approved → onboarding sequence and signup link. Rejected → route to whichever bucket does fit, usually Forward to Operator. Never a dead end.
  4. 7 days after approval, no signup → activation nudge.
WF-07Disqualification and recyclingBucket = Disqualified. Makes saying no safe to automate.
  1. Set marketing contact status to non-marketing where the reason is private consumer, so they stop costing money.
  2. Re-enrol on business model changing. A student in 2026 is a fleet manager in 2029, and the recycle path is what makes automatic disqualification safe.
  3. Quarterly, re-check disqualified contacts whose company has since matched an ICP account.
WF-08Engagement scoringEveryone, on a schedule. The second route to MQL.
  1. Turn on native score decay. Engagement and combined scores support decay directly, so a whitepaper from March stops making an account look warm in September without a monthly rebuild workflow.
  2. Crossing 50 sets lifecycle to MQL and, if business model is known, enrols in WF-04.

This is how GreenFleet reaches sales without ever filling in a long form.

WF-09Watchlist statusIts final bucket stays SDR. Watchlist is a temporary status that holds off the sales handoff until the re-qualification date.
  1. Set the re-qualification date — the tender date if given, otherwise six months out.
  2. Low-frequency nurture: one relevant asset a quarter, no sales pressure.
  3. On the date: set lead status back to Active, enrol in WF-04, which sets MQL and creates the SDR task with the original context attached.
  4. Manual promotion available if a tender publishes early.

Someone has to watch the tender portals. That's a process, not a workflow, and I'd own it.

WF-10Preventing leads from going coldDaily. The safety net under all of the above.
  1. Runs daily over anything where the bucket was set more than 14 days ago and lifecycle hasn't moved.
  2. Escalate once to the owner's manager.
  3. Then hand it back to marketing, bucket preserved.

Leads will go stale. The system needs a defined moment where marketing takes them back rather than letting them rot in a queue.

Lifecycle stages and lists

Two proposed lifecycle stages · nine lists, active unless noted

Lifecycle stages

StageSet by
Subscriber
Gave us an email, asked for nothing else
Newsletter form
Lead
Submitted any form with intent behind it
Any gated asset
Engaged Lead new
Score ≥ 25, or two or more touches
WF-08
Marketing Qualified Lead
Routed to SDR, or score ≥ 50 with known business model
WF-03 / WF-08
Sales Accepted Lead new
An SDR looked at it and agreed it's worth working
SDR, from the task
Sales Qualified Lead
Meeting held and qualified
Deal creation
Opportunity
Deal past Appointment Scheduled
Deal stage sync
Customer
Closed won
Deal stage sync

Lists

ListUsed for
Inbound — awaiting routingNear zero, or WF-03 is broken
Manual triage queueWorked daily by marketing ops
Low-confidence routedWeekly accuracy review, under 80%
SDR — unworked past SLAEscalation
Forward to Operator — no outcomeQuarterly partner reconciliation
Starter — pending reviewApplication queue
Watchlist — due for re-qualificationMonthly, becomes an SDR task
Consumer suppressionStatic. Suppressed from every B2B send.
Profiling incompleteProgressive profiling isn't working

AI in marketing operations

Two processes · the AI extracts, deterministic rules decide

Process 1  Free-text extraction

The one designed in detail. Runs as a Custom code action inside WF-03.

TriggerAny form with free text, before the routing branch
Inlead_info_long plus the structured fields
AI returnsBusiness model, charge points, sites, timeline, country — each with a verbatim quote, a confidence, and any conflicts. No bucket.
Rules writeBucket, sub-motion, lead status, reason, next action
On failureReturns Manual triage. Never a guess.

Try it on the workflow slide — click the orange Custom code step.

Process 2  SDR context brief

Fires inside WF-04, after routing.

TriggerAn active SDR lead enters WF-04 — bucket is SDR and lead status is not Watchlist
InQualification fields and the last 90 days of touchpoints
DoesWrites five lines, each linked to the activity it came from
OutPasted into the SDR task body
GuardrailNever contacts the prospect. Writes "not known" rather than inventing a fact.

Neither process talks to a customer. Both write to a record a human reads.

Where the human stays, and how I'd measure it

ConfidenceWhat happens
≥ 80Routed automatically, sampled at 10% weekly
60–79Routed but flagged, 24-hour review task
< 60Not routed. Manual triage list. Never guessed.
DisqualifyNever fully automatic above a charge-point threshold

Four numbers I'd report

Straight-through ratetarget ≥ 90%
Override rateevery override written back
False disqualificationstarget zero
Cost and time per submissionagainst ~2.5 min manual

Privacy: only classification fields leave the portal, never contact details. Approved vendor terms, pinned processing region, model and prompt version logged per decision.

Inbound funnel

Last 30 days · all sources · figures below the MQL line are assumptions, stated as such

280
Submissions
80
MQLs · 28.6% of submissions
~11 hrs
Estimated manual triage workload today
280 × 2.5 min · ~10 hrs saved at 90% straight-through

Stages

How a contact touch becomes an account signal
Contact activityCompany engagementDeal & revenue

Activities stay on the contact, then roll up to the associated company so three people from Nordisk reading the same whitepaper is one account warming, not three leads. The company score is the distinct-touch count, so a shared webinar or a company visit is counted once however many contacts attended. Sales sees account warmth; marketing sees which touches produced MQLs.

The dashboard I'd build
  • Submission → MQL → Sales Accepted → SQL → Opportunity → Won, with conversion and median days between each stage
  • Performance by source and by form
  • Routing accuracy and manual-exception rate
  • SDR first-action against SLA
  • Partner referral outcomes
  • MQL to Sales Accepted by cohort month

Engagement scoring — six touchpoints

TouchpointCaptured byPoints
Industry eventsBadge-scan CSV → custom object25 / event
Website visitsHubSpot tracking code2 / session · 10 for pricing
LinkedIn paidAds integration + conversions API8 lead form · 3 click
LinkedIn organicNot natively capturable0 — channel level only
Whitepaper downloadsForm submission15
WebinarRegistration form / attendance10 reg · 20 attend
NewsletterEmail engagement5 click · opens excluded

Where this breaks

Six areas where HubSpot alone won’t quite get you there, and what I’d put alongside it

1

Webinar attendance isn't tracked

Registrations are captured. Actual attendance isn't — so one of your strongest engagement signals, someone spending an hour with you, never reaches the data.

I'd either move to a webinar platform that integrates directly with HubSpot, or gate the replay and use replay views as a second signal.

2

Vector won't tell you much about European traffic

Vector already runs through GTM, but contact-level identification only covers the US. That works for US traffic, and Monta's is mostly European, so its usefulness is limited here.

For European visitors I'd use company-level identification and treat it as an account intent signal, not an attempt to name the person.

3

LinkedIn organic won't be cleanly attributable

LinkedIn gives you no clean way to tie organic post engagement back to individual contacts.

Third-party tools like Dreamdata try to fill the gap, but bring their own limitations and compliance questions.

4

Forward to Operator disappears once they leave the site

Today you can see someone reach the operator directory and click through.

If the channel matters commercially: unique tracked links per operator, a simple partner referral record, an outcome field operators can update, and a regular reconciliation.

Otherwise the channel generates revenue and you can't tell which leads produced it.

5

Offline events need a consistent setup

A standard Event Touchpoint structure linked to both contacts and companies, and the same CSV format for every import.

6

A 6–18 month cycle makes attribution hard

Neither first-touch nor last-touch tells the story. First-touch credits a whitepaper from a year ago; last-touch credits yesterday's demo form.

I'd use a W-shaped model. It splits the credit across the three moments that actually move a deal — the first touch, the touch that created the lead, and the touch that created the opportunity — roughly a third each, with the remainder spread over everything in between. First-touch and last-touch stay as supporting views.

I'd also group accounts by the month they first entered the funnel and follow each group over time. With cycles this long that usually tells you more than any weighting does.

Cover ←→H