Help center
Go to home
Go to templates
Go to settings
Go to help center

Populate hidden fields with ActiveCampaign

Use ActiveCampaign personalization tags in a form link so each contact's details land in the form's hidden fields.

ActiveCampaign's personalization tags put a contact's own data into a campaign, an automation email, a subject line or an SMS. A tag works inside a link as well as in the text, which is what this guide relies on: a form link with a tag in it becomes a different link for every contact.

The receiving end is a hidden field on a form made with Tinyform. A hidden field is a named slot the form fills from its URL's query string, invisible to the visitor and stored with the submission. ActiveCampaign builds the link; the form reads it.

How it works

1. Create a form

Open the editor at /forms/<id>/edit, type /hidden and insert a Hidden fields block. Name each row after the query parameter it should read. For this example use email and source.

Press Publish, open the Share tab and copy the share link, which is the published form at /r/<id>.

2. Create a campaign in ActiveCampaign

Build the campaign and add a button. In the sidebar, open the settings next to Link and paste the form link with the parameters appended.

The hidden field email is paired with the %EMAIL% tag, so it receives each contact's address, and source is given the fixed word email, since everyone who reaches the form through this campaign came from it. To carry more, add more rows and more parameters; contactid=%SUBSCRIBERID% is a common second one.

Names are compared exactly, so the parameter on the link must match the row's name, including case.

3. Launch the campaign

When the campaign goes out, ActiveCampaign swaps the tags in each copy, and each contact's link carries their own values. On submit the form stores them beside the answers. They appear as their own columns in the Submissions tab and in the CSV export, headed by the row's name.

Values are stored against the row, not against its name, so renaming a row later does not disconnect a mention or a logic rule that points at it. Only the parameter on the link has to be renamed to match.