How to Record UTM Parameters for Users

What are UTM Parameters?

UTM Parameters are simply data tags (pairs of variables and values) appended to a destination URL (where the user is brought to after clicking the link) which often describes something about the referring source (where the user found the link or came from).

Data from these parameters are then parsed by analytics tools through tracking scripts to associate data with the respective user. 

To better understand them, here's an example scenario: 

  • You have a landing page on your website located at https://yourdomain.com/join-us. You have embedded your Prefinery Signup Form on this page. 
  • Now, you setup and run ads on Facebook with a call-to-action that links to https://yourdomain.com/join-us?utm_medium=cpc&utm_source=Facebook
  • Let's say Sarah is browsing Facebook and sees your ad. 
  • She clicks on the call-to-action and gets directed to your landing page. 
  • She likes what she sees and submits the Prefinery-powered Signup Form. 
  • In your Prefinery project user database, Sarah gets added as a new user with the corresponding UTM data: 
    • UTM Medium = cpc
    • UTM Source = Facebook 

Here are the five different UTM parameters which can be used in any order: 

Parameter Purpose Example
utm_source Identifies which site sent the traffic.  utm_source= facebook
utm_medium Identifies what type of link was used, such as cost-per-click (cpc) ad or email.  utm_medium= cpc
utm_campaign Identifies a specific product promotion or strategic campaign.  utm_campaign= prelaunch
utm_term Identifies search terms used by the user that brought them to the site.  utm_term= marketing+software
utm_content Identifies what specifically was clicked to bring the user to the site, such as a banner ad or a text link. It is often used for A/B testing and content-targeted ads. utm_content= footerlink or utm_content=sidebanner

How to Record UTM Parameters in Prefinery

There are different wants in recording UTM parameters in Prefinery depending on how you're adding the user to your project. 

📨 Using the embedded signup form

When using the embedded signup form, Prefinery automatically tracks UTM parameters for you. 

Given the example scenario provided earlier, if a user named Sarah were to run into your Facebook ad, clicked on its call-to-action which brings her to your landing page through the URL  https://yourdomain.com/join-us?utm_medium=cpc&utm_source=Facebook  then fills out and submits the signup form on that page - in this user's Prefinery profile you'll find that the UTM parameters are recorded. 

âš¡ Using the testers#create API call

If you are using our API, you can pass in the UTM parameters manually. 

When adding a new user to your project for example using the testers#create call, in the optional profile parameter of the request body you can specify string values for UTM parameters like as follows: 

{
  "tester" : {
    "email": "john@company.com",
    "profile": {
      "utm_source": "facebook",
      "utm_medium": "cpc",
      "utm_medium": "prelaunch"
    }
  }
}

📥 Importing the user

When importing users into your campaign, perhaps an existing email list that you have, you can include columns for UTM parameters like what's shown below: 

This method allows you to add users to your project in bulk with their corresponding UTM data. 

Filtering Users by UTM Parameters

You can filter users by UTM values. For example, to find all users which came from a Facebook ad (CPC) you'd setup your filters as follows: 

How to Edit/Update UTM Parameters of Existing Users

âš¡ Using the testers#update API call

If you are using our API, you can add or edit UTM parameters for existing users in your project. 

When editing an existing user of your project for example using the testers#update call, in the optional profile parameter of the request body you can specify string values for UTM parameters like as follows: 

{
  "tester" : {
    "email": "john@company.com",
    "profile": {
      "utm_source": "facebook",
      "utm_medium": "cpc",
      "utm_medium": "prelaunch"
    }
  }
}

Such API request will add those UTM parameters to the existing user if there's none for them yet, or will update the values for those UTM parameters if the user has them already. 

📥 Re-importing the user

You can use the same method of importing users into your campaign to also re-import existing users with updated information. 

When re-importing, you can include columns for UTM parameters like what's shown below: 

Doing so will not add the person as a new user in your project, but instead will update their existing profile with the defined UTM values.

Still need help? How can we help? How can we help?