Skip to content
SourceLoop
Web form tracking

How to track lead source in Zoho Forms

Capture the marketing channel, campaign, and full pre-submission journey behind every Zoho Forms entry, with full attribution flowing into the entry record.

On this page
  1. What SourceLoop captures from Zoho Forms
  2. Before you start
  3. Step 1: Install the SourceLoop tracking script
  4. Step 2: Add a hidden field with a Field Alias
  5. Step 3: Embed the form on your website
  6. Step 4: Configure the Zoho Forms webhook
  7. Where to see Zoho Forms entries in SourceLoop
  8. Contacts Hub
  9. Attribution dashboard
  10. Funnel reports

Zoho Forms is the form builder of choice for businesses already running on the Zoho suite, especially when you need tight integration with Zoho CRM, Zoho Workplace, or any of Zoho’s other tools. The catch most users hit: form entries flow into Zoho with no marketing context attached, no idea which ad, post, or campaign brought the visitor to the form. This guide adds the missing layer.

Four steps, around fifteen minutes. The Field Alias step in step 2 is the one most people miss, watch for it. Webhook support requires a paid Zoho Forms plan.

What SourceLoop captures from Zoho Forms

Every Zoho Forms entry arrives in SourceLoop alongside:

  • Acquisition channel plus the visitor’s complete UTM parameter set
  • Browsing sequence before the entry, every page in chronological order
  • Total time on site before the submission
  • Session count before they converted
  • Email and name from the Zoho Forms entry
  • First-seen landing page and the URL that referred the visitor
  • Source of the closing session, the one that produced the entry
  • Device, country, and browser

Before you start

You’ll need:

  • A SourceLoop workspace (free trial)
  • Edit access to the website where the Zoho Forms widget will be embedded
  • A Zoho Forms account on a paid plan (Basic or above for webhook support)
  • At least one Zoho Forms form built and published

Step 1: Install the SourceLoop tracking script

Log in to SourceLoop, open Setup from the left sidebar, and choose the Tracking code tab. Copy the snippet shown.

SourceLoop Setup page with the tracking code snippet to copy

Drop the snippet inside the <head> of every page on your site, including the page where the Zoho Forms widget will live.

Step 2: Add a hidden field with a Field Alias

Zoho Forms uses Field Alias as the URL parameter name. You’ll need both a hidden field on the form AND an alias set to sl_aid for the integration to work.

  1. Open your form inside Zoho Forms.
  2. Add a new field of type Single Line. Label it anything you like, “SourceLoop Id” works fine.
Zoho Forms field added with a Single Line type
  1. Open the field’s Field Properties panel.
  2. Under Field Visibility, mark the field as Hide and save.
Zoho Forms Field Visibility set to Hide
  1. From the form builder’s left sidebar, navigate to Settings -> Field Alias - Prefill URL.
Zoho Forms Settings menu with Field Alias - Prefill URL highlighted
  1. Find your new field in the alias list and set its alias to exactly:
sl_aid

(lowercase, no spaces, aliases are case-sensitive).

Zoho Forms Field Alias panel with sl_aid entered for the hidden field
  1. Click Save.

Quick verify: open your form’s standalone URL with ?sl_aid=test123 appended (e.g. https://forms.zohopublic.com/yourname/form/YourForm/formperma/HASH?sl_aid=test123) and submit. The resulting entry should show the field populated with test123. If yes, the alias is wired correctly.

Step 3: Embed the form on your website

Once the form has the hidden field and alias, get it onto your site.

  1. From your Zoho Forms Share tab, choose Embed.
  2. Select Iframe or JavaScript embed (either works).
  3. Copy the embed code and paste it onto your website where the form should appear.
Zoho Forms Share tab showing Iframe and JavaScript embed options

Step 4: Configure the Zoho Forms webhook

The webhook delivers each entry to SourceLoop, where it’s matched to the visitor’s journey and saved as an attributed lead.

  1. In SourceLoop, go to Setup -> Incoming Webhooks and copy your webhook URL.
SourceLoop Setup page on the Incoming Webhooks tab
  1. In Zoho Forms, open your form, go to Integrations -> Webhook, and add a new webhook with the SourceLoop URL.
Zoho Forms Integrations panel with Webhook configuration
  1. Set the content type to application/json.
Zoho Forms webhook with content type set to application/json
  1. Configure the payload parameters. At minimum, send name, email, and sl_aid. Keep the parameter names exactly as shown below so SourceLoop can read them.
Zoho Forms webhook payload parameters configured with name, email, and sl_aid
  1. Save.

Submit a test form on your embedded page to confirm the entry appears in SourceLoop with source, channel, and landing page populated.

Where to see Zoho Forms entries in SourceLoop

Three SourceLoop views give different cuts of your Zoho Forms data:

Contacts Hub

Every Zoho Forms entry shows up as a contact row at app.sourceloop.ai/contacts. Click a row to expand the visitor’s full pre-submission timeline.

SourceLoop Contacts Hub showing a Zoho Forms entry with the lead's full pre-submission journey

Attribution dashboard

app.sourceloop.ai/dashboards/traffic groups your Zoho Forms entries by source, medium, and campaign. Useful when you need to see which acquisition channels actually turn into qualified leads.

SourceLoop attribution dashboard with Zoho Forms entries grouped by source and campaign

Funnel reports

Build a funnel in app.sourceloop.ai/funnels ending in “Zoho Forms entry”. Slice by source or landing page to find the best paths from first visit to submitted form.

SourceLoop funnel report ending in a Zoho Forms entry conversion step

For paid acquisition, push Zoho Forms entries to Google Ads, Meta, and LinkedIn as offline conversions so the bidding algorithms learn from real lead generation. Connect your Google Ads account covers the offline-conversion setup.

Frequently asked questions

  1. Why does the field need both a Hidden setting AND a Field Alias?

    Zoho Forms uses Hidden visibility to keep the field off the public form, but it uses Field Alias as the URL parameter name. Without a Field Alias set to `sl_aid`, Zoho ignores the incoming URL parameter and the field stays empty even though it's there. Both settings are required.

  2. I set the field as Hidden but skipped the Field Alias step. Why isn't tracking working?

    That's the most common mistake on this integration. Zoho requires the explicit alias to map URL parameters into fields. Add the alias `sl_aid` under Settings -> Field Alias - Prefill URL, save, and try again.

  3. Can I use the existing fields on my form instead of adding a new one?

    You can, but you'd need to set the Field Alias of one of your existing fields to `sl_aid`. Adding a dedicated hidden field is cleaner and won't affect your form's UI or data structure for visible fields.

  4. Do I need any Zoho plan in particular?

    Webhooks in Zoho Forms are available on paid plans (Basic and above). Free plans don't include webhooks, so submissions won't reach SourceLoop without an upgrade. The hidden-field and Field Alias steps work on any plan.

  5. I share my Zoho Forms direct link in client emails. Will those entries be tracked?

    No. Submissions through a raw `forms.zohopublic.com/<your-handle>/form/...` link won't carry attribution because the visitor never lands on a tracked page first. Embed the form on a landing page that has the SourceLoop snippet.

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

kayden@abc.com

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

kayden@abc.com · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta