Lead Source in Your CRM – Which Campaign Brought Each Form Enquiry

Paper airplane with a dashed trail back to its launch point
Summarize with AI:

Marketing Source Tracking is a WordPress plugin that records where a visit came from and attaches it to the form submission. It was built by BeeClear, a maker of WordPress plugins and smartphone apps. The enquiry and its origin then go to ASARI CRM, a CRM system for real estate agencies, or to User.com, a marketing automation platform. The contact record shows whether the client arrived through a property portal, an ad or a newsletter. This post follows it from the first page view to a field in your CRM.

Why does a real estate agency need the lead source in its CRM?

A real estate agency needs the lead source in its CRM to judge each channel by the clients it actually brings in. Ask clients how they found you and most say “online”, if they remember at all. Meanwhile the agency pays for listing portals, Google Ads and social media posts. Without a recorded origin, budget decisions rest on gut feeling. Marketing Source Tracking records it for you, with no extra form questions.

Picture your Monday team meeting. Instead of guessing, you open last month’s leads and see the campaign and referring site next to each one. You know straight away which listing is worth renewing and which ad to switch off.

How does Marketing Source Tracking remember the first visit?

Marketing Source Tracking remembers the first visit by storing its UTM parameters and referring site on the server. From the address it reads utm_source, utm_medium and utm_campaign – the source, medium and campaign. Only referrers from other domains count, so browsing your own pages changes nothing. Once a field is filled, neither a direct visit nor a later ad click overwrites it.

The record lasts for the retention period you set, 30 days by default. A client returning a week later via search still keeps the original campaign. Each new visit renews that period, so a regular visitor doesn’t lose their attribution. The plugin only stores this data after the visitor consents to tracking – consent gets its own article in this series.

Which URL parameters beyond UTM can the plugin store?

Beyond UTM, the plugin can store any other URL parameter you add on the Marketing tracking screen. In the “Tracked parameters and cookies” table you enter a name and pick the “URL parameter” type. That might be gclid from Google Ads, msclkid from Microsoft Advertising or fbclid from Facebook. The table also accepts cookies whose values should reach the submission. Each entry becomes a separate field in the form mapping.

Custom parameters also help with partners. If a developer links to your site with ?partner=name at the end, the plugin stores that name with the lead. The first-visit rule applies here too, so later visits with a different tag don’t change it.

How does the source reach hidden form fields?

The source reaches hidden form fields through the “Marketing field autofill” option in the mapping for that form. In Contact Form 7, a forms plugin for WordPress, you name the field. In a plain HTML form, you give a CSS selector. The plugin fills in the values stored for the current browser: UTM parameters, referrer and extra parameters. Empty values are skipped, so no field receives random text.

The autofill also reaches forms that appear on the page later, such as a pop-up. Hidden fields are handy when the data should also show up in the form’s notification email. You don’t need them for the CRM integration, though. The mapping can use the virtual fields marketing_source, marketing_medium, marketing_campaign and marketing_referrer directly. The plugin adds them on the server, even if the form has no hidden fields.

How do you map the source to ASARI CRM and User.com fields?

You map the source to ASARI CRM and User.com fields on the Form mappings or Custom form mappings screen. Each mapping row has a type: Field, Static, Conditional, Field (if present) or Static (if present). Field passes a value as is, say a campaign name into a contact text field. The ASARI field list shows contact custom fields as customField_<ID>. Two fields that share a name in ASARI therefore stay separate targets.

The Conditional type turns raw URL values into dictionary entries in your CRM. A rule checks whether a value equals, does not equal, contains or does not contain a given text. The comparison ignores letter case, Polish characters included. The first matching rule wins, and a row with no match sends nothing. A typical agency setup might look like this:

Visit dataRow typeExample target
utm_source naming a portalConditional, “contains” rulea dictionary field in ASARI CRM
utm_campaignFielda text field on the ASARI CRM contact
marketing_referrerFielda User.com contact attribute
gclid as an extra parameterFieldUser.com event data

In User.com, the plugin creates or updates the contact and can record events with the data you choose. It pulls the attribute list straight from your User.com account. Without a mapped contact ID, it builds one from the email or phone. The campaign and the form then appear in the client’s history.

What happens when the contact already exists in ASARI CRM?

When the contact already exists in ASARI CRM, the plugin won’t create a duplicate if “Existing ASARI contact” is on. It searches by email address first. It falls back to the phone number only when the form has no email, searching by digits without the +48 prefix. A match receives only the fields marked “Overwrite in an existing contact” in the mapping. With no field marked, the record is left untouched.

This protects details an agent has already filled in by hand. Mark only the campaign field, say, and the name and owner stay as they are. When several contacts match, the plugin updates the newest one by default – the one with the highest ID. A single checkbox switches it to the oldest. When nobody matches, it creates a new contact with every mapped field.

A temporary lookup error pushes the send to the next attempt rather than risk a duplicate. On the last attempt the plugin creates a new contact so the lead isn’t lost. A listing or seeker created from the same submission is linked to the matched contact.

What does the control note show on the contact record?

The control note shows on the contact record everything the form sent to ASARI CRM. It opens with an [MST] tag, the form name and the date. Next it lists each field under its ASARI name and adds a readable label for dictionary values. For an existing contact it adds the contact ID and the overwritten fields, plus the match count when there are several. A “Visit data” section closes the note with the raw UTM parameters, the referrer, any stored click IDs and the address of the form page.

At a glance, you can see where a source value came from. The plugin writes the note to the note field, after any note text mapped from the form, or to a text custom field of your choice. The ASARI site token can’t read a contact’s existing data. That’s why, for an existing contact, the previous content of the chosen field is replaced. If your agents’ own notes need to survive, give the control note a dedicated custom field.

How do you start recording lead sources in your CRM?

You start recording lead sources in your CRM by switching on tracking in the plugin’s global settings. Then, in the form mapping, you enable field autofill and link the virtual fields to ASARI CRM or User.com fields. Save a finished mapping as a template to reuse on the next form. Sending to the CRM runs in the background, through a retry queue covered in a separate article. Marketing Source Tracking comes as a Premium version with a 3-day trial, and current pricing is on the plugin page.

Summarize with AI:

Want clients and AI models to find your website?

We run website SEO for Google and for AI answers. We tidy structure, internal linking and content, and we measure results instead of promising them.