• Partners
  • Privacy Policy
  • About Us
  • Contact Us
Saturday, June 7, 2025
  • Login
Digital Boom
  • News
  • Startups
  • Marketing
  • Ad Campaigns
  • Tech
  • How-to Guides
  • Insights
  • Culture & Media
No Result
View All Result
  • News
  • Startups
  • Marketing
  • Ad Campaigns
  • Tech
  • How-to Guides
  • Insights
  • Culture & Media
No Result
View All Result
Digital Boom
No Result
View All Result
Home Guides & Tutorials

How to Capture UTM Parameters in Webflow Forms?

Ahmed Maher by Ahmed Maher
June 17, 2022 - Updated on May 17, 2025
in Guides & Tutorials
Reading Time: 3 mins read
11
A A
How to Capture UTM Parameters in Webflow Forms?
365
VIEWS

Any sustainable business growth must identify which parts of the business strategy generate the best customers with a positive ROI to focus on the marketing channels that work and ditch those that don’t.

Though if you can’t measure which marketing campaigns generate leads and customers, how will you know where to focus your time and resources?

B2B and other businesses that rely on lead generation can easily measure marketing performance by tracking the UTM source of every lead in your CRM.

This post demonstrates how to capture UTM parameters in Webflow Forms and send that data in the form fields to display them inside your CRM for reporting.

Also read: how to reject non-business emails from Webflow form submissions?

Capture and push UTM to any form in Webflow + store parameters in a cookie when users move from one page to another

Copy-Paste Before body (Per page or entire website)

The code structure:

  1. Get URL parameters.
  2. Get Webflow form elements by jquery class selector and set the value to this UTM param X.
  3. It’s useful to store UTM params inside a cookie (To keep the UTM also if the user goes from page X to Y).
<!-- JS Cookie Library -->
<!-- Source: https://github.com/js-cookie/js-cookie -->
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>

<!-- UTM Cookie Tracking for Tribal -->
<script>
const my_utmParameters = ["utm_source", "utm_medium", "utm_campaign"];

// Get all URL parameters as an object
function getAllUrlParams() {
  return Object.fromEntries(new URLSearchParams(location.search));
}

const cookieExist = Cookies.get('Lead');
const getAllUrlParamsObj = getAllUrlParams();
const getAllUrlParamsJSON = JSON.stringify(getAllUrlParamsObj);
const isEmpty = jQuery.isEmptyObject(getAllUrlParamsObj);

// Case 1: UTM parameters exist, cookie does not exist
if (!isEmpty && cookieExist === undefined) {
  console.log("Case 1 - Parameters found & no cookie exists. Creating cookie.");
  createLead();
  setUTMformValues();
}

// Case 2 or 3: UTM parameters exist and cookie exists
if (!isEmpty && cookieExist !== undefined) {
  const isSame = isUTMEqualToCookieValues();

  if (!isSame) {
    console.log("Case 3 - Cookie exists, but with different UTM values. Resetting cookie.");
    Cookies.remove('Lead');
    createLead();
    setUTMformValues();
  } else {
    console.log("Case 2 - Cookie exists with matching UTM values.");
    setUTMformValues();
  }
}

// Case 4: Cookie exists, no UTM parameters on the page
if (isEmpty && cookieExist !== undefined) {
  console.log("Case 4 - Cookie exists but page has no UTM parameters.");
  setUTMformValues();
}

// Create the cookie with UTM parameters
function createLead() {
  const lead = {
    parameters: getAllUrlParamsObj
  };
  Cookies.set('Lead', lead); // Optional: { expires: 2 } for 2-day expiration
}

// Compare UTM parameters from URL and cookie
function isUTMEqualToCookieValues() {
  const storedUTM = JSON.parse(cookieExist).parameters;
  for (const param of my_utmParameters) {
    if (storedUTM[param] !== getAllUrlParamsObj[param]) {
      return false;
    }
  }
  return true;
}

// Populate UTM fields in Webflow forms
function setUTMformValues() {
  const emptyParamFallback = "null";
  const leadParams = JSON.parse(Cookies.get('Lead')).parameters;

  for (const param of my_utmParameters) {
    const utmNodes = document.getElementsByClassName(param);
    if (utmNodes.length > 0) {
      for (let i = 0; i < utmNodes.length; i++) {
        utmNodes[i].value = leadParams[param] || emptyParamFallback;
      }
    }
  }
}
</script>

Populate UTM parameters in a hidden field inside the form

To do that, insert an embed element inside the form, then add the following javascript code.

<!-- UTM Hidden Fields for Webflow or any HTML Form -->
<input type="hidden" class="utm_source" name="utm_source" placeholder="utm_source">
<input type="hidden" class="utm_medium" name="utm_medium" placeholder="utm_medium">
<input type="hidden" class="utm_campaign" name="utm_campaign" placeholder="utm_campaign">

You can repeat the second step in any form across your website, and you will receive UTM parameters from your marketing campaigns or affiliate links inside your form submissions.

Credit: Siton_Systems

Previous Post

Coinbase lays off 18% of its staff amid ‘Crypto Winter’

Next Post

How to transfer WhatsApp chats from Android to iPhone?

Ahmed Maher

Ahmed Maher

Ahmed Maher is a marketing and growth leader with a proven track record across telecom, fintech, publishing, charity, government, e-commerce, and sports. He launched Vodafone Egypt’s digital and social media presence in 2008, setting new standards for brand engagement and performance marketing in the region. As the founder of Digital Boom, Ahmed has helped shape the voice of digital media in the Arab world. He brings a rare blend of creative vision and data-driven thinking, using digital tools and storytelling to drive measurable impact and scalable growth.

Please login to join discussion
Egypt Activates 5G Nationwide, Ending Years of Delays
Market Watch

Egypt Activates 5G Nationwide, Ending Years of Delays

by Ahmed Maher
June 6, 2025
456

Egypt has officially entered the 5G era, with all four major telecom operators switching on their networks during a joint...

Read moreDetails
Uber Launches Uber One in Egypt to Strengthen Customer Loyalty

Uber Launches Uber One in Egypt to Strengthen Customer Loyalty

May 27, 2025
685
Builder.ai Ceases Operations After $1.3 Billion Valuation Collapse

Builder.ai Shuts Down After Layoffs and Investor Pullout

May 26, 2025 - Updated on May 28, 2025
953
How to Become LLM-Ready in 2025: A Guide for Publishers

Publishing for Machines: The 2025 Guide to LLM-Ready Content

May 26, 2025
563
Thndr Raises $15.7M to Expand into Wealth Management in MENA

Thndr Raises $15.7M to Expand into Wealth Management in MENA

May 26, 2025
539
  • Partners
  • Privacy Policy
  • About Us
  • Contact Us

© 2025 Digital Boom, Inc. - All Copyrights Reserved. The Middle Easy Marketing & Advertising Homepage.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

No Result
View All Result
  • News
  • Startups
  • Marketing
  • Ad Campaigns
  • Tech
  • How-to Guides
  • Insights
  • Culture & Media

© 2025 Digital Boom, Inc. - All Copyrights Reserved. The Middle Easy Marketing & Advertising Homepage.