UTM parameter basics

If your campaign materials contain URLs that bring users to the DreamApply portal and you want to track campaign effectiveness, you can add UTM parameters to these URLs.

DreamApply supports standard UTM parameters:

  • utm_id
  • utm_source
  • utm_medium
  • utm_campaign
  • utm_term
  • utm_content

Custom UTM parameters are not supported. For details, see UTM parameters.

For example, to track leads coming from the Fall2025 campaign on Facebook, you can add the utm_source and utm_campaign parameters to the URL:

https://apply.your-university.org?utm_source=facebook&utm_campaign=fall2025

In this case, DreamApply will capture utm_source=facebook and utm_campaign=fall2025 parameters and attribute them to leads.

How UTM parameter attribution works

DreamApply handles UTM parameters in two main stages:

  1. Capture: When DreamApply detects a valid UTM parameter in the URL, the system records this parameter and stores it in the user session, even if a user has not logged in yet. At this stage, UTM parameters are captured anonymously and are not linked to any specific user.
  2. Attribution: DreamApply links the captured parameter to a user (lead) after they register or log in. Attribution creates a personal connection between the campaign data and the lead.

You may see differences between captured and attributed values in the DreamApply statistics. For example, DreamApply may capture a UTM parameter 100 times, but only 40 of those will be attributed to actual leads (if other users never logged in).

UTM parameter capture

DreamApply captures a UTM parameter only once per session. If a user refreshes the page or visits the same URL multiple times during the same session, DreamApply counts it only once. However, if a user opens the URL again from a different browser session, for example, closes and re-opens the browser window or uses a different device, DreamApply captures the parameter again.

DreamApply captures the full combination of UTM parameters added to the URL. For example, if a user first visits a URL with the utm_source=facebook parameter and later visits the same URL with the utm_source=facebook&utm_campaign=fall2025 parameters, DreamApply treats these combinations as two distinct parameter sets. In this case, the utm_source=facebook parameter will be captured twice — once with each combination.

Mind the following:

  • DreamApply captures UTM parameters only from basic HTTP GET requests.
  • DreamApply captures parameters from both the request URL and the Referer HTTP header.
  • The UTM parameter string can be up to 256 characters in length. DreamApply captures longer strings but silently truncates them to 256 characters.

UTM parameter attribution

DreamApply can attribute UTM parameters to users in two ways:

  • Registered users: If a user is already registered and logged in to DreamApply, DreamApply immediately attributes the UTM parameter to them.
  • Guest users (not logged in): If a user is not logged in, DreamApply temporarily stores the UTM parameter on the server or client side. If that user later returns and registers, DreamApply attributes the UTM parameter to them.

DreamApply offers two mechanisms for storing captured UTM parameters:

  • Session-based (server-side): DreamApply stores UTM parameters in the session data on the server and keeps them while the user session is active (the browser window is open). If the user registers during the same session, DreamApply attributes the UTM parameters to them. If the user closes the browser window, the session data is discarded. The UTM parameters remain anonymous and never become attributed. However, the marketing team can see those parameters in the DreamApply statistics.

  • Cookie-based (client-side): If a user agrees to cookies, DreamApply stores UTM parameters in cookies within their browser. This allows the system to attribute UTM parameters even if the user closes the browser window and returns later.

DreamApply always stores UTM parameters on the server side. Cookies are only used if a user grants explicit consent. For details, see Cookie consent.

DreamApply supports several consent modes to handle cookies:

  • Implied consent: DreamApply assumes that a user grants consent when they set their citizenship. In this mode, all cookies are allowed and UTM parameters can be stored in cookies within their browser.
  • Polite bar and Assertive dialog: A user sees a consent window that allows them to choose which types of cookies to accept. If the user does not explicitly grant consent, UTM parameters will not be stored in cookies.

DreamApply waits for the user’s consent before storing any data in cookies. Until consent is granted, DreamApply temporarily stores UTM parameters in the session data on the server.

  • If the user grants consent, DreamApply replicates this data to cookies for future use. If the user returns and registers, DreamApply attributes the stored UTM parameters to the user. After that, the session data and cookies are cleared.
  • If the user does not grant consent, the session data is discarded as soon as the session ends.

Cookies set by DreamApply are marked with the HttpOnly flag for additional protection. This ensures that they are not accessible to client-side scripts or third-party applications.

Anti-bot

To improve accuracy, DreamApply excludes known automated traffic such as bots, web crawlers and similar tools from UTM parameter statistics. However, some edge cases may still result in false positives or uncounted sessions. For example, if a user accesses the system through a VPN solution running in the cloud, the click on the URL may be filtered out.