Getting started
Install in 5 minutes. Capture your first attributed lead today.
1. Requirements
- Joomla 4.x, 5.x, or 6.x
- RSForm!Pro 3.x
- PHP 7.4 or newer (PHP 8.1+ required for Joomla 6)
Joomla 3.x is not supported (end-of-life August 2023).
2. Install the plugin
- Download the plugin zip file from the link in your purchase email.
- In Joomla admin, go to System → Install → Extensions.
- Drag the zip file into the upload area. You'll see "Installation was successful".
- Go to System → Manage → Plugins and search for "Lead Source Tracker".
- Click the plugin name to open it. Toggle Status to Enabled in the right sidebar.
- Click Save.
That's it. The plugin starts tracking visits and capturing lead sources immediately. Your existing RSForm!Pro forms will automatically get hidden tracking fields added behind the scenes the first time each form is viewed on the front end.
3. Add your license key
- In the plugin settings, click the License tab.
- Paste your license key (sent in your purchase email) into the License key field.
- Click Save. The plugin activates the key against this site automatically.
- Joomla's update system will now offer plugin updates automatically.
A license key is not required for the plugin to work — lead capture continues even without a key. The license only gates automatic updates and support.
Lost your key? Email support@leadsourcetracker.com from the address you used at checkout.
4. Configure the plugin
All settings live under System → Manage → Plugins → System — Lead Source Tracker. The defaults are sensible for most sites; tweak only if you need to.
| Setting | Default | What it does |
|---|---|---|
| Limit to form IDs | empty (track all) | Comma-separated list of RSForm!Pro Form IDs to track. Leave empty to track every form on your site. |
| Cookie lifetime (days) | 90 | How long to remember a visitor's original source. Lower values are stricter on privacy; longer values capture more delayed conversions. |
| Label as Ads/Organic | Yes | When on, sources are auto-suffixed with " Ads" or " Organic" (e.g. "Google Ads" vs. "Google Organic"). |
| Track last touch | No | v1.2.0+. Also record the most recent source before submission into parallel Last Source / Last Medium / etc. fields, next to the always-on first-touch fields. New hidden fields are added to your forms automatically after enabling (refresh the form page once). Data starts from the moment you enable it — earlier visits are not backfilled. |
| Auto-inject tracking fields | Yes | Automatically add hidden lead-tracking fields to your RSForm!Pro forms the first time they are rendered. Turn off only if you want to add fields manually. |
| Debug logging | No | Print detection details to the browser console (visible only to you when developer tools are open). Useful when verifying setup; leave off in production. |
5. View lead source in submissions
- In Joomla admin, go to Components → RSForm!Pro → Manage Submissions.
- Pick the form whose submissions you want to view.
- Click the columns/gear icon to show or hide columns. Enable:
- lead_source — e.g. "Google Ads", "Facebook Organic", "Direct" (shown as "Source" in detail view)
- lead_medium — e.g. "cpc", "organic", "referral"
- lead_campaign, lead_campaign_id, lead_term, lead_content — UTM values
- lead_click_id, lead_click_type — for paid traffic (gclid, fbclid, etc.)
- lead_referrer, lead_landing — the visitor's original referrer URL and landing page
- lead_first_seen — when this visitor was first attributed
- The columns are now visible in every submission row.
With Track last touch enabled (v1.2.0+, plugin settings), a parallel set of lead_last_* columns is also available — lead_last_source, lead_last_medium, lead_last_campaign, lead_last_referrer, lead_last_landing, lead_last_seen, etc. First-touch shows where the visitor originally found you; last-touch shows what brought them back on the visit where they submitted. Both work in the submissions list, CSV exports and email placeholders (e.g. {lead_last_source:value}).
6. Export submissions to CSV
In Components → RSForm!Pro → Manage Submissions, use the standard Export button. All lead_source / lead_medium / lead_campaign / lead_click_id columns are included in the export under their friendly headers (Source, Medium, Campaign, Click ID).
For reporting in Excel/Sheets, the Source column is the most useful single field — it tells you "Google Ads", "Facebook Organic", "Direct", "Yelp", etc. for every lead.
7. Reading your lead source data
Every submission stores 11 attribution fields. The combinations of values tell you exactly where a visitor came from. Here is how to interpret them.
| 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 Ads click | Bing Ads | cpc | a1b2c3... | https://www.bing.com/ |
| Facebook post / share | Facebook Organic | organic | empty | https://www.facebook.com/ |
| Facebook / Meta 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/... |
| Mailchimp email click | Mailchimp | email (if UTM set) | empty | varies |
| ChatGPT / Perplexity / Claude | ChatGPT (etc.) | organic | empty | https://chatgpt.com/ |
Example: reading a real submission
A submission on example.com/info-request arrives with:
lead_source = Google Organic lead_medium = organic lead_click_id = (empty) lead_referrer = https://www.google.com/ lead_landing = https://www.example.com/info-request
Interpretation: the visitor searched on Google, clicked your site's free search result, and landed directly on the /info-request page. You did not pay for this click. If it had been a Google Ad click, lead_click_id would contain a long string (a "gclid"), lead_medium would be cpc, and lead_source would be Google Ads.
Edge cases worth knowing
- Google Maps clicks — visitors clicking your business from the dedicated Google Maps app are labeled
Google Business. Visitors clicking your business card inside Google search results land asGoogle Organicbecause the browser sendsgoogle.comas the referrer, indistinguishable from a regular search click. Cross-reference with Google Business Profile Insights for an authoritative count. - "Direct" with no referrer — legitimate. Visitor typed your URL, used a bookmark, clicked an SMS link, or came from an app that strips referrers (Facebook Messenger, password managers, some email apps).
- All-empty rows — rare since version 1.0.9. Indicates the visitor blocked our JavaScript and our server-side fallback also failed to find a signal. Usually a bot or strict-privacy user.
- Identical submissions seconds apart — almost always a form-stuffer. Treat as a single lead. If volume is a problem, enable RSForm!Pro's built-in reCAPTCHA / hCaptcha integration on the form.
- Returning visitors — lead source records the first attribution within the cookie window (default 90 days). A visitor who first arrived via Google Ads and returned a week later by typing your URL still shows
Google Ads— correct first-touch credit.
8. Future updates
As long as your license is active, Joomla's built-in updater will notify you of new plugin versions automatically (once every 24 hours).
- When an update is available, you'll see a notification badge in your Joomla admin.
- Go to System → Update → Extensions and click Update.
- The plugin updates in place. Your settings and data are preserved.
9. Need help?
If you run into a problem — a form not capturing source data, a license question, anything else — email support@leadsourcetracker.com and we'll respond within one business day. Active license holders get priority.
When emailing, include your Joomla version, RSForm!Pro version, and what you were trying to do. A screenshot of your plugin settings page helps us help you faster.