Introduction to FormOrigin
Welcome to FormOrigin! This guide will help you understand the core concepts behind our marketing attribution tool and how to get started with tracking your lead origins effectively. FormOrigin is designed to be a lightweight, easy-to-integrate solution that provides valuable insights into which marketing efforts are driving conversions on your website.
Our primary goal is to help you see the journey a visitor takes – from their first interaction with your brand (like clicking an ad or finding you on Google or with an AI assistant) to the moment they fill out a form on your site. By capturing this "first-touch" attribution data and making it available in your existing forms, FormOrigin empowers you to make better marketing decisions and optimize your spend.
This documentation will walk you through setting up the universal tracking snippet that automatically works with all form types, and understanding the data it provides.
Universal Tracking Approach
FormOrigin uses a modern, universal tracking approach that:
- Works with all form types automatically - no need to select or configure specific form handlers
- Functions identically whether installed directly or through Google Tag Manager
- Intelligently detects forms on your page as they're added or modified
- Automatically injects attribution data into properly configured hidden fields
Our smart detection system recognizes forms from all major platforms including Contact Form 7, Gravity Forms, WPForms, Elementor, Typeform, custom HTML forms, and many more - all without requiring you to specify which type you're using. This significantly simplifies the setup process and makes FormOrigin more reliable across diverse websites.
Understanding Your FormOrigin Tracking Snippet: What Data It Collects
When someone visits your website for the first time with special tracking links (like those from your ads or email campaigns), or even if they just find you through Google, our little piece of code (the FormOrigin snippet) gets to work. Its main job is to remember how that person first found your website.
Think of it like a friendly gatekeeper who asks, "Hello! What brought you here today?" and then remembers that answer. If that same person comes back later through a different door (say, they type your website address directly), the gatekeeper still remembers how they originally arrived.
When that visitor eventually fills out a form on your site (like a contact form or a signup form), our snippet discreetly adds this remembered "first arrival" information into hidden fields in that form. This way, when you get the form submission, you know which marketing effort deserves the credit for bringing you that lead or customer.
But, FormOrigin is smart enough to also track each visit the person makes along the way, and provides a summary of that too. You can see if someone came by Google Ads originally, returned via Meta Ads and SEO and then converted Direct. This gives you the full story on how your leads are generated.
Here's what each of those hidden attr_
fields tells you:
attr_channel
:
What it is: This is the general marketing "channel" or category that first brought the visitor to your site.
Examples: "Paid Search" (like Google Ads), "Organic Search" (like a regular Google result), "Paid Social" (like a Facebook Ad), "Organic Social" (like a link from your Facebook page), "Email Marketing," "AI Assistant" (like ChatGPT, Claude, or Gemini), "Referral" (a link from another website), or "Direct" (they typed your address or used a bookmark).
How it knows: The snippet looks at clues from the link they clicked (like utm_source
and utm_medium
from your tracking URLs, or special click IDs like gclid
from Google Ads) or where they came from (the referring website). For AI Assistants, it recognizes traffic from platforms like ChatGPT, Claude, and Gemini, either through their domains or specific UTM parameters.
attr_source
:
What it is: This tells you the specific website or platform that first sent the visitor.
Examples: google
, facebook.com
, bing
, linkedin.com
, your_newsletter_name
, name_of_referring_website.com
. If they came directly, it might say (direct)
.
How it knows: It primarily looks for a utm_source
tag in the link they clicked. If that's not there, but the channel can be figured out (like "Organic Search"), it might use the referring website's name (e.g., google.com
).
attr_medium
:
What it is: This describes the type of link or marketing method that first brought them.
Examples: cpc
(cost-per-click, common for paid ads), organic
(for search engine results), social
(for social media links), email
, referral
. If they came directly, it might say (none)
.
How it knows: It mainly looks for a utm_medium
tag in the link. If that's missing, but the channel is known, it might infer the medium (e.g., if the channel is "Organic Search," the medium is set to organic
).
attr_campaign
:
What it is: If the visitor first came from a specific marketing campaign, this field will show its name.
Examples: spring_sale_2024
, product_launch_promo
, free_trial_offer
.
How it knows: It looks for a utm_campaign
tag in the link they clicked.
attr_term
:
What it is: Often used in paid search campaigns (like Google Ads) to identify the specific keyword(s) that the visitor searched for when they saw and clicked your ad for the first time.
Examples: blue_widgets
, best_accounting_software
.
How it knows: It looks for a utm_term
tag in the link.
attr_content
:
What it is: Used to differentiate between ads or links that point to the same URL. For example, if you have two different call-to-action buttons in an email, or two versions of an ad, this can tell you which one was first clicked.
Examples: button_A
, sidebar_link
, image_ad_variation_1
.
How it knows: It looks for a utm_content
tag in the link.
attr_landing_page
:
What it is: The full web address (URL) of the very first page the visitor landed on when they initially came to your site.
Example: https://www.yourwebsite.com/special-offer-page
How it knows: It records the URL of the page they are on during that first visit.
attr_referrer
:
What it is: The full web address (URL) of the website the visitor was on just before they first clicked a link to your site. If they didn't come from another site (e.g., they typed your address), this might be blank.
Example: https://www.someotherblog.com/article-linking-to-you
How it knows: It looks at the browser's referrer information for that first visit.
attr_gclid
/ attr_fbclid
/ attr_msclkid
:
What they are: These are special "click IDs" automatically added to your URLs by advertising platforms.
gclid
: Google Click ID (from Google Ads).fbclid
: Facebook Click ID (from Facebook or Instagram Ads).msclkid
: Microsoft Click ID (from Bing Ads).
Why they're useful: They are unique identifiers for ad clicks and help ad platforms track conversions. Our snippet captures the first one it sees.
How it knows: It looks for these specific parameters (like ?gclid=xxxxxx
) in the URL of the first visit.
attr_timestamp
:
What it is: The date and time when the visitor's first-touch attribution data was recorded.
Example: 2024-05-07T10:30:00.000Z
(an ISO date format).
How it knows: It records the current date and time when the first-touch data is captured.
attr_visit_path
:
What it is: This field gives you a summary of the visitor's journey across different marketing channels from their very first visit up to their most recent one before they filled out the form.
Example: "First touch: Paid Search -> Organic Social -> Direct (Last Touch)"
How it knows: The snippet keeps a list of the different channels the visitor uses to come to your site over time. This field shows that sequence.
By looking at these hidden fields in your form submissions, you get a clear picture of which initial marketing efforts are successfully bringing you valuable leads and customers!
FormOrigin works with virtually any form system that allows adding hidden fields. If your specific form builder or platform isn't listed below, you can still implement FormOrigin by following these general principles:
- Install the FormOrigin snippet on your website as described in the Main Setup Guide.
- Add hidden fields to your form with these characteristics:
- Each field must be a hidden input field (not visible to users)
- Each field should have a name that makes sense for your system (e.g.,
utm_source
,marketing_source
, etc.) - Each field's value/default value/placeholder should contain the corresponding FormOrigin placeholder listed below
FormOrigin placeholders to use:
[attr_channel]
For the marketing channel
[attr_source]
For the UTM source parameter
[attr_medium]
For the UTM medium parameter
[attr_campaign]
For the UTM campaign parameter
[attr_term]
For the UTM term parameter
[attr_content]
For the UTM content parameter
[attr_referrer]
For the referring website
[attr_landing_page]
For the landing page
[attr_gclid]
For Google click ID
[attr_fbclid]
For Facebook click ID
[attr_msclkid]
For Microsoft click ID
[attr_timestamp]
For the visit timestamp
[attr_visit_path]
For the visitor's path through your site
- Test your integration by visiting your site with test UTM parameters and submitting the form.
Need more help? Check the Generic HTML Forms guide for HTML forms or the Generic iFrame / Embed Setup for third-party embeds.