When using pre-population settings on a field, configuring rules, or configuring events, you can pull data from a number of sources. This article details the available sources.


Note that depending on what features are active on your account, you may not have all of the below data sources available to you.

  • Fixed value - A simple, static string value.
  • Gate attribute- Use a piece of data from the gate configuration, e.g. download URL. Gate attributes are specific to each of our client's accounts within Formulayt, but there are some common ones that we have listed below. Note that the list you see in your account will likely have additional attributes, and may even be missing some of the ones below based on your own account setup. They can also appear in a different order to how they are listed here:
    • Gate ID - This is a GUID-type string that uniquely identifies the specific gate. This is auto-generated when the gate is created and cannot be changed.
    • Gate (object) - This is a JS object that can be used to interrogate and interact with the gate itself, including underlying DOM elements. There is more information about working with GCDC JS objects in our JS API KB article.
    • Gate name - A user-friendly name for this gate. This will be what the gate editor entered when they created/edited the gate.
    • Display type - This will return either "modal" or "inline" depending on the method that was used to embed the gate on the page (either inline, ie. within the page content, or modal, ie. triggered by the user clicking a link)
    • Gate type - This will return a key describing the gate type, for example: "download", "youtube", or "general". This generally describes the type of content that is being gated.
    • Download URL - If the gate type is a download gate, this will contain the URL of the downloadable asset. Other similar attributes will exist depending on what gate types are active on your account (e.g. "YouTube URL").
    • Form language - This will return a 2-character or 5-character ISO code of the language that the gate is using, as selected by the gate editor. For example, "en" for English, "en-us" for US English, or "de-ch" for Swiss German.
    • Form type - This will be a key representing the form type that the gate is using. You can see all of the form type keys available within your account by examining a form type from within the "Setup -> Form types" area.
    • Kiosk mode - This will return true if the gate is in kiosk mode
  • Gate editor - Use a piece of data that can be determined by the gate editor, e.g. asset category. Using this data source will add a corresponding field automatically to the gate editor interface. Gate editor fields are completely configurable for each account and are set up as detailed in this KB article.
  • Form interaction- Provides data about form interactions and other information about the form itself:
    • Behaviour - This will output either "normal", "progressive" or "multistep" to indicate the behaviour setting on the form. The form behaviour is selected when a form type is created, and will determine if the form's fields will display all at once (normal), over multistep steps that the user will be required to work through (multistep), or over multiple page loads to gather more information about the user over time (progressive).
    • List of currently displayed fields - This will return a CSV text list of the field keys that are currently visible to the user. You can find the keys for all fields in your account in the "Setup -> Fields" area. Note that on multistep forms, this list will only contain the keys of fields on the current step. Progressive forms and rules can also affect what fields will display. For example, if on the current step of the form, the user can see the country, first_name, last_name, and email fields, the output value will be "country,first_name,last_name,email".
    • List of all user-facing form fields - This will return a CSV text list of all of the field keys that are present on the form, even those not currently visible (with the exception of fields that have an actual HTML field type of hidden). You can find the keys for all fields in your account in the "Setup -> Fields" area. For example, if the form has the fields country, first_name, last_name, and email fields, the output value will be "country,first_name,last_name,email". 
    • Submission datetime (Local - ISO) format - This will output the submission datetime in ISO format local to the user, e.g. "2023-01-01 11:23:56. Note that as this is only generated on form submission, this value can only be provided after this point.
    • Submission datetime (UTC - ISO) format -This will output the submission datetime in ISO format using UTC, e.g. "2023-01-01 11:23:56. Note that as this is only generated on form submission, this value can only be provided after this point.
    • Submission datetime (US) format - This will output the submission datetime in USformat, e.g. "12/31/2023 11:23:56. Note that as this is only generated on form submission, this value can only be provided after this point.
    • Submission type - This will output either "user" or "blind", depending on whether the user submitted the form themselves or the form did a blind submission. Note that as this is only generated on form submission, this value can only be provided after this point. 
    • Last field interacted with (field name) - This will output the key of the field that the user last interacted with (i.e. focussed on or changed). You can find the keys for all fields in your account in the "Setup -> Fields" area.
    • Last field interacted with (object) - This will output a JS object of the field that the user last interacted with (i.e. focussed on or changed).  This allows you to interrogate and interact with the field itself, including underlying DOM elements. You can find information about working with GCDC field objects in our JS API KB article.
    • Last field that was invalid (field name) - This will output the key of the field that most recently threw a validation error visible to the user during form validation.  You can find the keys for all fields in your account in the "Setup -> Fields" area.
    • Last field that was invalid  (object) - This will output a JS object of the field that most recently threw a validation error visible to the user during form validation.  This allows you to interrogate and interact with the field itself, including underlying DOM elements. You can find information about working with GCDC field objects in our JS API KB article.
    • Current progressive step - This will output the number of the progressive step that the form has loaded on. Note that this will only output a value if the form type uses progressive behaviour, otherwise, it will be blank.
    • Total number of progressive steps - This will output the total number of progressive steps that the form has available. Note that this will only output a value if the form type uses progressive behaviour, otherwise, it will be blank.
    • Current multistep step - This will output the number of the multistep step that the user is currently completing. Note that this will only output a value if the form type uses multistep behaviour, otherwise, it will be blank.
    • Total number of multistep steps - This will output the total number of the multistep steps that the form has. Note that this will only output a value if the form type uses multistep behaviour, otherwise, it will be blank.
    • Highest multistep step completed- This will output the maximum multistep step number that the user has reached on this form. For example, if a form has 5 steps, and the user had got to step 4 before going back a step, then the value of this data source will be 4, whilst the current step will be 3, and the total steps 5. Note that this will only output a value if the form type uses multistep behaviour, otherwise, it will be blank.
    • Modal click text - This will output the text from the link that triggered the current gate to display, if the gate is using the modal embed method. Otherwise, this will be blank.
    • Modal click ID - This will output the ID of the link element that triggered the current gate to display, if the gate is using the modal embed method. Otherwise, this will be blank.
  • Query string - Track a query string parameter whenever it appears in the page URL and pre-populate this field with the latest value. Enter the exact name of the querystring that you want to track from page URLs. For example, if the querystring will appear in the URL as "?campaign_id=test123", you should enter "campaign_id".
  • Meta tag - Data pulled directly from the page's HTML meta tags. Enter the exact name of the meta tag you want to retrieve, for example, "description" will retrieve the value of the description meta tag, if it's present on the page.
  • Form field - Copy the value of another field. Note that this field must be present in the same form type and must already have a value in it, otherwise a blank value will be passed instead.
  • MAP contact field - If your account is fully integrated against a Marketing Automation Platform (MAP), contact fields that are available for pre-population will appear here. The exact options available will depend on the MAP that your GCDC account is integrated against, and what fields are available within that MAP.
  • Google Analytics - If the Google Analytics integration is active for your account, you can choose certain values from the on-page Google Analytics object (note that the Google Analytics tracking script must be present on the page for these values to return anything). You should refer to the Google Analytics documentation for further information about the options available and how they work.
  • Webinar - If you are using the Formulayt webinar management module, this option will appear in the list and will allow you to use the ID of the user's selected webinar session.
  • Page - Data pertaining to the current page load:
    • Page URL - The page URL as it appears in the browser address bar, minus any querystrings.
    • Page URL (including querystring) - As above, but also includes the querystring.
    • Page load datetime (ISO format) - YYYY-MM-DD HH:MM:SS, E.g. 2000-12-01 00:00:00
    • Page load datetime (US format) - MM/DD/YYYY HH:MM:SS E.g. 12/01/2000 00:00:00
    • Page referrer - This will always contain the full URL of the page that the user was previously on, or will be blank if they navigated directly to the current page by directly typing in the URL . This is the same as the document.referrer property within the browser.
    • External page referrer - If the user arrived at the current page by clicking a link from an external website, this will contain the value of the page they came from. If the user visited this page by directly typing in the URL, or they came from another page that is recognised as belonging to the same group of domains that are associated with your account, this value will be blank.
    • Parent frame URL - If the current page has been loaded inside an iFrame, this will contain the URL of the page containing the iFrame. Otherwise, this value will be blank.
    • Total time on page - In seconds, how long the user has been on the current page. Note that if you use this for pre-population, it will generally be 0 or a very low number. This data source is more useful in events, when you want to know how long after the page load an event occurred.
  • Browser- Data from the browser, including software version and geographic location of the user:
    • User agent string - The full user agent string as it appears in the navigator or window browser objects, e.g. Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36
    • Browser name and version - E.g. Chrome 100.0.4896.127
    • User's preferred language - E.g. en-gb
    • Day of week - Three letter day representation, E.g. Mon
    • IP address - The IP address of the user. Note that because this is gathered from the user's browser, it can be modified by the user and should not be relied on for anything related to application security.
    • City - The user's city, based on their GeoIP location, e.g. 'London'.
    • Country (ISO code) - Based on their GeoIP location, e.g. GB
    • LatLong Coordinates - The user's coordinates based on their GeoIP location.
    • Random GUID - A pseudo-randomly generated GUID-style string. This is unique per page load, but not per gate. E.g. f6f55126-5ab3-4871-9069-09389f221cbb. 
    • DoNotTrack is active - Return true or false depending on the value of the browser's DoNotTrack directives. Read more here.
    • Ad blocker detected - If you are using ad blocker detection within your GCDC account, and an ad blocker has been detected during the current page load, this will return true.
  • Session- Data from the browser session, including UTM parameters and referrers. A session starts when a user first lands on your website. It ends when the browser terminates the session, which is normally when a user closes the browser tab. Note that UTM values are fully regenerated every time even a single new UTM value appears in the URL.
    • Referrer (full URL) - Also known as the session referrer, this will be the referrer to the first page in this session. If the user navigated to your website directly (e.g. by directly entering the URL into the browser address bar), this will be blank.
    • Referrer (domain) - This is the same as the above, except it will only return the domain rather than the full URL.
    • Entry URL - The URL of the page on your website where the session began.
    • Visit number - The total number of visits this user has made to your website. Note that this relies on browser storage, and will be reset if the user's browser storage has been cleared.
  • UTM parameters - These are detected from the URL (UTM source, medium, campaign, content, and term) and stored for different durations, depending on the type of UTMs you select.
    • UTM parameters (session) - UTM values are captured when a user lands on any page and are stored for the remainder of the user's web session only.
    • UTM parameters (first touch) - UTM values are captured when a user lands on any page and are stored indefinitely in the user's browser. A value is NOT overwritten by any subsequent UTM values captured.
    • UTM parameters (last touch) - UTM values are captured when a user lands on any page and are stored indefinitely in the user's browser. A value IS overwritten by any subsequent UTM values captured.
    • UTM multi-touch capture - This is a compound value that concatenates together all of the different UTM values that have been generated for this user throughout their browsing session on your website.
  • Formula - Build advanced pre-pop values by combining other basic values. This allows you to combine plain text with additional data source values to build more complex values.