Populate fields with URL data

If you want to populate certain form fields with data provided in the URL then you can do this using so called dynamic content tags. There are various built-in tags available, but the one we'll need to fetch data from the URL is `{data key="NAME"}`.

Say you want to send a hidden "source" and "campaign" field to MailChimp for which the data is in the URL of the page your form is on. To fill the fields with these values, use `{data key="source"}` and `{data key="campaign"}` as your field values.

Example form mark-up

<p>
	<label for="mc4wp_email">Email address: </label>
	<input type="email" id="mc4wp_email" name="EMAIL" placeholder="Your email address" required />
</p>
 
<!-- Notice the value="{data key="xxx"}" attributes of the following fields -->
<input type="hidden" name="source" value="{data key="source"}" />
<input type="hidden" name="campaign" value="{data key="campaign"}" />
 
<p>
	<input type="submit" value="Sign up" />
</p>

The plugin will automatically try and find a "source" and "campaign" field in the URL. If the fields are not present, the plugin will replace the placeholders with an empty string.

Setting default values

You can set a default value for when the specified data is not found by adding a `default="..."` attribute to the tag.

Example:

{data key="NAME" default="Default Name Value"}

Was this article helpful? ·