For Joomla 4, 5 & 6 with RSForm!Pro
Track UTM parameters, paid-click IDs (gclid, fbclid, more), and referrer source for every submission. No more guessing. See exactly what's driving your leads.
Instant download · 14-day refund guarantee · 1 year of updates
Built specifically for RSForm!Pro. Cache-safe by design.
See the source right inside each RSForm!Pro submission — search, social, AI assistants, email, or paid campaigns.
Stores UTM parameters and common click IDs (gclid, msclkid, gbraid, wbraid, fbclid, ttclid, more) for accurate attribution.
Saves the original referrer and campaign values so later submissions still credit the right source — even days later. Optionally also records the most recent source in parallel Last Source fields (v1.2.0+), so you see what first brought a lead in and what finally converted them.
No rebuilding forms. Hidden tracking components are added to your RSForm!Pro forms and populated behind the scenes.
Distinguishes "Google Ads" from "Google Organic", "Facebook Ads" from "Facebook Organic", and so on — automatically.
Detection runs client-side, so Joomla System Cache and CDN setups (Cloudflare, etc.) work fine. Most server-side trackers break behind a cache.
Server-side cookie promotion bypasses Safari's 7-day JavaScript cookie cap. Attribution survives iOS users returning days later.
Lightbox, modal, or dynamically inserted RSForm!Pro forms are detected and filled automatically via a MutationObserver.
Data stays in your Joomla database as part of the submission. No conversion events sent to ad platforms. No PII captured beyond what you ask for.
30+ named sources, 8 paid-click IDs, every UTM parameter.
utm_sourceutm_mediumutm_campaignutm_termutm_contentutm_idgad_campaignidgclid — Google Adsgbraid, wbraid — Google Ads (aggregated)msclkid — Microsoft Adsfbclid — Facebook/Instagramttclid — TikTokli_fat_id — LinkedInrdt_cid — RedditThree steps. No form rebuilding.
Client-side JavaScript detects the source from UTMs, click IDs, or the referrer. Values are stored in first-party cookies.
First-touch attribution is preserved across pages and across sessions. Even days later, the original source still wins. With last-touch enabled, each new arrival is recorded alongside it — without ever overwriting the first touch.
Hidden lead-source fields are filled and submitted along with the form. The data appears in your RSForm!Pro submission list.
All licenses include 1 year of updates and email support.
For one Joomla install
For agencies + multi-site owners
For small agencies
14-day refund guarantee · Annual renewals are optional · The plugin keeps capturing leads even after your license expires — you only lose access to new updates and support.
We capture common attribution fields and store them on the RSForm!Pro submission, including UTM parameters (source, medium, campaign, term, content), click IDs (gclid, msclkid, gbraid/wbraid, fbclid, ttclid, more), the original referrer URL, and the landing page.
Both. First-touch is always on: we store the original referrer and campaign parameters that brought the visitor to your site, preserved for up to 90 days (configurable). Since v1.2.0 you can additionally enable last-touch tracking — a parallel set of Last Source / Last Medium / Last Campaign fields that update on each new arrival (UTM link, ad click, external referrer or direct visit), so a lead who found you on Google but converted from your newsletter shows both. Browsing between pages of your own site never resets the last-touch values.
Yes. Detection runs client-side in the visitor's browser, so Joomla's page cache and CDNs like Cloudflare don't interfere. This is the main reason we built it — server-side trackers commonly break behind a cache.
Yes. Safari's Intelligent Tracking Prevention caps JavaScript-set cookies at 7 days, which would normally lose attribution. We work around this by promoting JS-set cookies to server-side cookies on the second pageview — those aren't subject to the 7-day cap and survive the full 90 days.
Yes. A MutationObserver watches the DOM for late-loaded form HTML (lightboxes, modals, AJAX inserts) and fills the tracking fields the moment they appear.
Yes. By default the plugin tracks every RSForm!Pro form on your site. You can optionally restrict tracking to a comma-separated list of FormIds in the plugin params.
Yes. The tracking values are saved as fields on each RSForm!Pro submission, so they appear in the standard RSForm!Pro CSV export. A separate audit table also stores every captured source keyed to the submission ID for direct SQL access.
The plugin continues working — your lead capture never breaks. You just lose access to new versions and email support. Renew anytime to resume updates.
No. This plugin doesn't fire pixels or send conversion events to GA4 or ad platforms. It stores attribution data inside your RSForm!Pro submissions so you can see, per lead, where it came from.
It can be used in a GDPR/CCPA-friendly way. The plugin stores attribution data in your own database and doesn't transmit events to third-party ad platforms. See our privacy page for the data inventory and recommended cookie-consent integration.
Every submission stores 11 attribution fields. Here is what each combination means.
| Visitor type | lead_source | lead_medium | lead_click_id | lead_referrer |
|---|---|---|---|---|
| Typed URL or bookmark | Direct | none | empty | empty |
| Google search result (free) | Google Organic | organic | empty | https://www.google.com/ |
| Google Ads click | Google Ads | cpc | CjwKCAjw... | https://www.google.com/ |
| Google Maps / Business Profile | Google Business | organic | empty | https://maps.google.com/... |
| Bing search | Bing Organic | organic | empty | https://www.bing.com/ |
| Microsoft Ad click | Bing Ads | cpc | a1b2c3... | https://www.bing.com/ |
| Facebook post / share | Facebook Organic | organic | empty | https://www.facebook.com/ |
| Meta/Facebook Ad | Facebook Ads | paid-social | IwAR0xY... | https://www.facebook.com/ |
| Yelp listing click | Yelp | organic | empty | https://www.yelp.com/biz/... |
| Nextdoor Ad click | Nextdoor Ads | cpc | ndclid value | https://nextdoor.com/... |
| UTM-tagged email | Mailchimp | empty | depends | |
| ChatGPT / Perplexity / Claude | ChatGPT (etc.) | organic | empty | https://chatgpt.com/ |
So lead_source = "Google Organic" with lead_referrer = https://www.google.com/ and an empty lead_click_id means the visitor found you through Google's free search results — you are not paying for that click.
Sometimes. When a visitor clicks your business from the dedicated Google Maps app (referrer host maps.google.com or maps.app.goo.gl), the plugin labels them Google Business. When they click your business card embedded inside a normal Google search results page, the browser sends google.com as the referrer — indistinguishable from any other organic-search click — so they land as Google Organic. This is a browser-level limitation, not something a Joomla plugin can resolve. For an authoritative count of Business Profile clicks, cross-reference Google Business Profile Insights with your Google Organic + Google Business rows by date.
Direct means the visitor typed your URL, used a bookmark, or arrived from a context that strips referrers (e.g. some chat apps, password managers, native mobile apps). That's a legitimate traffic source — treat them as "already knows you" leads. Fully empty rows are rare and indicate the visitor blocked our JavaScript or cookies entirely (very strict privacy settings, ad-blockers configured to match the word "tracker", or automated form fills). As of version 1.0.9 the plugin runs a server-side fallback detection on submit when cookies are missing, so empty rows should be the exception, not the rule.
Often, yes. Real visitors rarely submit the same form twice within seconds, while form-stuffers and automated tools commonly do. If you see two submissions with the same lead_landing URL and timestamps within a minute of each other, treat them as a single lead. RSForm!Pro itself supports reCAPTCHA / hCaptcha at the form-render level — enable that in your form's settings if spam volume is a concern. Lead Source Tracker stays focused on attribution and does not duplicate spam-filtering features.
Joomla 4.x, 5.x, and 6.x. RSForm!Pro 3.x. PHP 7.4+ (PHP 8.1+ for Joomla 6). Joomla 3.x is not supported (end-of-life August 2023).
Install in under 5 minutes. Capture your first attributed lead today.
Buy plugin — from $2914-day refund guarantee · Instant download