Mautic lead scoring and activity tracking
How Mautic lead scoring and tracking work: the mtc.js script, Point Actions, Point Triggers and a practical scoring model you can adapt.

In Mautic, activity tracking records everything a contact does (pages visited, emails opened, forms submitted), and Mautic lead scoring turns that behavior into a number that tells you at a glance who is ready for a sales conversation. Tracking collects behavior in real time and scoring puts the highest-potential contacts first. Together they let Mautic tell your sales team who to call first, on top of sending email.
This article covers how tracking works in Mautic and how to build scoring rules that make sense. It also explains why almost every scoring setup that fails does so for a silly reason: a badly installed tracking script or a stopped cron.
How tracking works in Mautic
Mautic tracks contacts in two places: inside the platform (emails, forms and landing pages) and on your external website through a tracking script.
Website tracking with mtc.js
Mautic provides a JavaScript snippet, mtc.js, that records every visit from identified contacts once you paste it on all pages of your site. Identification happens through a cookie. When a visitor submits a Mautic form or clicks a tracked email link, a cookie is set in the browser, and from then on their visits are tied to that contact.
The easiest way to get the code is to copy the automatic embed of a Mautic form, which already includes tracking. You adjust tracking behavior (IP anonymization, honoring Do Not Track, device tracking) from the gear menu under Settings → Configuration → Tracking Settings. Paste the snippet before </body> on every page.
What Mautic tracks
- Pages and URLs visited: address, title, date and time, and time on page.
- Email opens: through a tracking pixel embedded in each email.
- Email link clicks: Mautic rewrites every link to record the click.
- Form submissions: when, and which form.
- Asset downloads: when a contact downloads a file registered as an Asset.
- Focus Item interactions: clicks on pop-ups and notification bars.
Points, Stages and Segments are different things
Before you configure any rule, separate three things that Mautic deliberately keeps apart. Many people treat score, funnel stage and list as synonyms, and the scoring turns into a mess.
| Feature | What it is | How it changes | Used for |
|---|---|---|---|
| Points | The contact's accumulated numeric score | Point Actions add or subtract points | Measuring interest and engagement |
| Stages | A fixed funnel step (e.g. MQL, SQL) | Moves via campaign, form or manually | Marking which phase the contact is in |
| Segments | A dynamic group based on filters | Contacts enter and leave as filters match (via cron) | Grouping contacts for targeted sends |
Mautic lead scoring lives in Points. Stages and Segments are outcomes you automate from it. For the grouping side, see Mautic segments.
Setting up Mautic lead scoring
Mautic lead scoring is configured in two places under the Points menu: Point Actions (rules that add or subtract points) and Point Triggers (automatic actions when a contact reaches a score). The core defines the available action types, and the official Points documentation lists what each version offers.
Point Actions: the scoring rules
Under Points → Manage Actions, click New and set:
- Name: a descriptive name (for example, "Pricing page visit").
- Action: the type of event that awards the points.
- Points (delta): how many points to add (positive) or subtract (negative).
- Is repeatable: whether it scores on every occurrence (each visit adds more points) or only the first time.
Built-in Point Action types
Mautic ships with six action types:
- Visits specific URL (
url.hit): visiting a URL on your site that matches a pattern. - Visits a landing page (
page.hit): opening a Mautic landing page. - Submits a form (
form.submit): submitting any form or a specific one. - Downloads an asset (
asset.download): downloading a registered asset. - Opens an email (
email.open): opening any email or a specific one. - Is sent an email (
email.send): receiving a send.
The list has no built-in Point Action for email link clicks, device type or profile data (job title, company size). You can still score all of those through a different route: a campaign with the "Adjust contact points" action, which I show further down.
A Mautic lead scoring model for B2B
A scoring model that works combines behavior (what the lead does) with profile (who the lead is). The values below are an example. Mautic has no official table, and the scale is yours to calibrate over time.
| Action or attribute | Points (example) | How to score it |
|---|---|---|
| Submitted the contact form | +40 | Point Action form.submit |
| Visited the pricing page | +20 | Point Action url.hit |
| Downloaded an ebook or resource | +15 | Point Action asset.download |
| Opened a campaign email | +5 | Point Action email.open |
| Clicked a link in the email | +10 | Campaign ("Clicks email" decision + points adjustment) |
| Director or C-level job title | +20 | Campaign (field condition) |
| Company with more than 50 people | +15 | Campaign (field condition) |
| Inactive for 60 days | -30 | Campaign (decay) |
Treat these numbers as a starting point for your own Mautic lead scoring. After one cycle, check how many of the leads that crossed your threshold became customers, and move the scale up or down.
Point Triggers: automating actions by score
Point Triggers define what happens when a contact reaches a minimum score. Under Points → Manage Triggers → New, you pick the threshold and one of the built-in actions: Modify Contact's Segments, Modify Contact's tags, Modify Contact's Campaigns, Send an Email (to the contact), Send an Email to User (to the salesperson) or Push Contact to Integration (to the CRM). A sample setup:
- 30 points: add to the "MQL (Marketing Qualified)" segment (Modify Segments).
- 60 points: add the "sql" tag and email the salesperson (Modify tags + Send an Email to User).
- 100 points: push the contact to the CRM (Push Contact to Integration).
A Point Trigger has no built-in action to change the contact's Stage or to fire a standalone webhook, which surprises a lot of people. For that, use a campaign. It reads the score (or the segment entry) and then runs "Modify contact's stage" or a webhook to your system.
Profile scoring through a campaign
Since there is no built-in Point Action for demographic data, the workaround is a campaign with Conditions: if the "Job Title" field contains "Director" or "CEO", run the "Adjust contact points" action and add the profile points. Those profile fields are usually Mautic custom fields you created for the purpose. The campaign needs a segment as its source (for example, a segment that gathers contacts with the field filled in) and runs at the pace of the cron. To build it, see Mautic campaigns.
Dynamic segments (mautic:segments:update) and campaigns (mautic:campaigns:trigger and mautic:campaigns:update) only process contacts when the cron runs. Without it, the lead crosses the points threshold and nothing happens, the classic "I set everything up and it doesn't fire". The full list is in Mautic cron jobs.
The contact activity history
Each contact page shows a timeline of everything Mautic tracked: when each email was opened, which pages were visited, when a form was submitted and when the score changed. This chronological view gives context before outreach. Instead of calling blind, the salesperson knows exactly what the lead has been doing.
FAQ about Mautic lead scoring
Does a lead's score expire in Mautic?
Not by default. Points keep accumulating. To make the score reflect current interest and not only history, build a campaign that subtracts points from contacts who go inactive (for example, a few points per week without activity). That way a lead who went cold stops looking hot.
Does Mautic tracking work for anonymous visitors without an email?
Partly. Mautic records the anonymous visit, and when that person fills in a form in the same browser, it merges the anonymous history into the newly identified contact, so you get back the pages they visited before signing up.
How does Mautic lead scoring alert the sales team?
Through a Point Trigger that fires when the contact crosses a points threshold. It can add a tag, move the contact to a segment, email the salesperson (Send an Email to User) or push the contact to the CRM (Push Contact to Integration). Sales gets the hot lead with no manual export.
Does Mautic recognize the same contact on different devices?
Identification relies mainly on the browser cookie, so a visit from another device usually comes in as anonymous. A click on a tracked email link fixes that, because it identifies the contact regardless of device.
Can I see which specific pages a lead visited?
Yes. The contact history lists every page with its URL, date and time. For an aggregated view by contact or segment, build a report under Reports using the page hits data source.
Where Mautic lead scoring breaks
Scoring setups usually fail quietly, because the tracking script is missing from some pages or the cron jobs stopped running. Check both before you spend time polishing the points scale.
With both in place, you know what each lead did and when. Sales effort goes to the people who are close to buying, and the messages they get can reflect what they actually looked at.


