📚 Web Form Attribution Series - Part 1 of 3
Part 1: Web Form Attribution Tracking (you are here)
Part 2: JavaScript Overview - Understanding the JavaScript
Part 3: JavaScript Testing Guide - Validation and troubleshooting
Web form submissions are one of the most important ways prospects engage with your business. The Integrous Analytics system captures detailed Attribution data from these interactions and connects that data to Opportunities in Salesforce to help you understand which marketing campaigns, channels, and content drive meaningful engagements and, ultimately, revenue.
Before reading this guide, we recommend first reading the Quick-Start Guide for context.
This Document Will Cover:
Overview
The Integrous Analytics system captures attribution data through a two-step process:
Tracking Source Information: Our JavaScript runs on your website pages and tracks where visitors come from, storing this information temporarily in their browser.
Capturing Data at Conversion: When a visitor submits a form, the source information is passed along with their form submission to your marketing automation platform and Salesforce.
Common web interactions that generate form submissions include:
Demo requests
Trial downloads
Free tool downloads
Whitepaper/ebook/infographic downloads
Webinar registrations
Newsletter sign-ups
Requirements for Web Form Attribution Tracking
Two key components must be in place to properly capture attribution on your website:
Integrous JavaScript on all site pages - This script tracks visitor source information
Hidden form fields on all web forms - These fields receive the attribution data from the JavaScript
How Attribution Tracking Works
Integrous Analytics JavaScript Functionality
The Integrous Analytics JavaScript performs two essential functions:
Session Tracking (only local to a user's browser)
Captures attribution data to the visitor's browser internal storage
Records 5 UTM Parameters (medium, source, campaign, content, term)
Intelligently determines source when UTMs aren't present in the URL:
Organic Search - Visitors from search engines without paid parameters
Organic Social - Visitors from social platforms without paid parameters
Referral - Visitors from other websites with referring URL
Direct - Direct visitors with no referrer information (only stored if there isn't prior attribution)
Saves the entry page URL and external ID (if present)
Builds a complete history of page visits over time (only local to the user's browser internal storage)
Stores this information for a configurable amount of time (pre-configured to 30 days, after which it expires)
Form Field Population
Scans the page to identify web forms
Populates hidden form fields with:
First-click attribution (oldest source data within 30 days)
Last-click attribution (most recent source)
Current page URL information
If any UTMs are blank, it fills a value of "Undefined"
The Data Flow Process
When a visitor submits a form on your website, here's what happens:
JavaScript Captures Attribution Data: The JavaScript stores source information in the visitor's browser, and it is not sent anywhere until a form is submitted.
Form Submission Passes Data: When a form is submitted, the hidden fields containing attribution data are sent along with user-entered information (name, email, etc.) to your marketing automation platform.
Data Sent to Salesforce: The marketing automation platform passes the attribution data to Salesforce, where it's temporarily stored in "Processing" fields on the Lead or Contact record.
Engagement Record Creation: Integrous Analytics creates an Engagement record with the attribution data from the Processing Fields, which are then cleared from the Lead/Contact and replaced with “Processed” or Jan 1, 1900.
See the following related articles:
Engagement Relationship Established: The new Engagement is linked to the Lead/Contact, and if it's an Activation Engagement, it becomes the Current Activation for that person.
Attribution data flow from web forms through marketing automation to Salesforce:
Multiple Engagement records build a complete interaction history for each Lead/Contact, with a special designation for Activation Engagements.
See related articles:
Web Attribution Implementation Guide
Add the Integrous JavaScript
The most common approach is to implement via Google Tag Manager:
Ensure GTM is installed on all site pages
The GTM container snippet must be present on every page of your website
This includes landing pages, product pages, form pages, etc.
Add the Integrous JavaScript tag
Log in to your GTM account
Create a new Custom HTML tag
Paste the Integrous JavaScript code provided by your implementation team
Set the trigger to fire on All Pages
Save and publish the container
Handle iframe scenarios
For forms inside iframes, the GTM container with Integrous JavaScript must be implemented:
On the parent page containing the iframe
AND within the iframe
This ensures proper communication between the parent page and iframe content
Alternatively, the script can be added directly to pages rather than via GTM if preferred
Multiple form implementation methods:
If your site uses multiple form implementation methods, the JavaScript will need to be updated for each method to match different field names
Contact your Integrous implementation team to update the script for each form type
Configure Hidden Form Fields
Every form that should capture attribution data must include hidden fields that the JavaScript will populate:
Hidden Form Field Requirements
The JavaScript is configured to set values in 14 hidden form fields (5 UTMs and External ID using first-session in 30-days, 5 UTMs and External ID using last non-direct session, session entry page URL, current page URL, and date). For the JS to find these fields, they must first be present on all web forms that we want to track this information through and they must post to the marketing automation platform:
IA_-_PROCESSING_FC_UTM_MED__c
IA_-_PROCESSING_FC_UTM_SRC__c
IA_-_PROCESSING_FC_UTM_CMP__c
IA_-_PROCESSING_FC_UTM_CON__c
IA_-_PROCESSING_FC_UTM_TRM__c
IA_-_PROCESSING_FC_EXT_ID__c
IA_-_PROCESSING_ENTRY_PAGE__c
IA_-_PROCESSING_LC_UTM_MED__c
IA_-_PROCESSING_LC_UTM_SRC__c
IA_-_PROCESSING_LC_UTM_CMP__c
IA_-_PROCESSING_LC_UTM_CON__c
IA_-_PROCESSING_LC_UTM_TRM__c
IA_-_PROCESSING_LC_EXT_ID__c
IA_-_PROCESSING_CONV_PAGE__c
Field settings:
Hidden fields must be present on all forms
Fields should NOT be pre-populated with values
Fields must be configured to overwrite any existing values in your MAP
Field names may vary based on your specific implementation
Engagement Type and Engagement Date
Two additional fields must be configured on each form, though not necessary as hidden fields since the JavaScript typically doesn’t set their value:
IA_-_PROCESSING_ENG_TYPE__c
IA_-_PROCESSING_ENG_DATE__c
Engagement Type Field:
Must set a specific hard-coded value identifying the form type (e.g., "Demo Request - Product X", "Whitepaper - Whitepaper Name"), so that everyone who submits a given form gets the same value
This is critical in order to determine which forms have been submitted by prospects
Values should align with your UTM Taxonomy
Should be set in the submission form processing, before the info is sent to Salesforce
Must be set in the same transaction as other attribution fields
Setting it separately will create duplicate Engagement records
Engagement Date Field:
Preferred approach: Set to TODAY via form processing, along with Engagement Type
This ensures the date is captured even if JavaScript is blocked
Alternative approach: Set via JavaScript if form processing can't handle it
Be aware this approach will fail if JavaScript is blocked
Setting it in post-submission form processing is preferred for reliability in case a user's browser blocks JavaScript
Notes:
The actual field names will vary depending on how they are implemented in the form. We can’t always control what their names will be on the page (for example, if a third-party platform inserts them), so the fields must first be added to the site and then the JS must be adjusted to match
If multiple field names are needed due to multiple form implementation methods, the JS will need to be updated for each
These fields pass to the marketing automation platform and ultimately to Salesforce where they are captured into the custom “Engagement” object
JavaScript Settings Configuration
The Integrous Analytics team manages the JavaScript configuration. For questions, please contact your Integrous point of contact.
❗Important Note - Adding a New Kind of Form to Your Site
Whenever you introduce a new type of form implementation to your site (e.g., if you've only had Hubspot forms and you're adding Marketo forms or Salesforce web-to-lead forms), please notify Integrous Analytics immediately. The JavaScript will need to be updated to recognize the specific field names used by each form implementation method to ensure proper attribution tracking continues.
Additional Information
Cross-Domain Tracking
The JavaScript automatically handles tracking between subdomains (assuming the JavaScript is implemented on both subdomains). For tracking across different domains, in case you have multiple sites in use:
Notify your Integrous implementation team of all domains in use
Each domain will need to be configured by Integrous to unlock this functionality
Without this setup, you will see traffic between your domains with attribution of "referral" rather than how they got to the first domain
Blank UTMs
Approximately 10% of form submissions may have blank UTM values due to:
Browser privacy settings blocking tracking
Ad blockers interfering with JavaScript execution
Your website opt-in settings, if present
Other technical limitations
The rate at which this occurs is dependent on your audience
For these cases, the system uses fallback mechanisms:
Lead Source field value for net-new Leads/Contacts
Default values that indicate the attribution couldn't be captured
Privacy/Compliance Considerations
The Integrous JavaScript is designed with privacy and compliance in mind:
Runs as a first-party script (less likely to be blocked than third-party scripts)
Uses browser local storage instead of cookies
Only sends data when a form is explicitly submitted by the user
Compatible with major privacy regulations like GDPR and CCPA
No PII is collected in Integrous fields - only stores UTM fields, External ID, page URL, and date
Many clients include a note in their privacy policy that "submitting a form constitutes consent to passing basic source tracking info"
Testing Your Implementation
Once you've completed the setup steps above, use our comprehensive JavaScript Testing Guide to verify that attribution data is being captured and flowing correctly through your system.
The testing guide provides both quick reference steps for technical users and detailed instructions for thorough validation of your JavaScript implementation.
Quick Setup Checklist
Add Integrous JavaScript to all site pages via Google Tag Manager
Add required hidden fields to all web forms
Configure form processing to set Engagement Type and Engagement Date fields
Test form submissions and verify data flows to Salesforce (see the JavaScript Testing Guide)
Validate that Engagement records are created with correct attribution data