Skip to main content

Reference

25 Core Forms data variables, explained

Core Forms ships 25+ template variables for emails, redirects, and webhooks. Most users only know three. Here's the full reference.

Most Core Forms users know [name] and [email]. The plugin ships 25+ data variables. The other 23 are where the real automation happens.

Here’s the full reference, organized by use case.

Form field tokens

The basics. Match a form field’s name attribute, wrapped in square brackets:

  • [name] — value of the field named “name.”
  • [email] — value of the field named “email.”
  • [any_field_name] — value of any submitted field.

Field names are case-sensitive. [Name] and [name] are different tokens. Match exactly.

Whole-submission tokens

For dumping all fields at once:

  • [all] — every submitted field as key: value lines.
  • [all:label] — every submitted field with the field’s HTML label as the key.

Use [all:label] in email notifications. The label is what makes the email readable: “Email Address: jane@example.com” instead of “email_address: jane@example.com”.

Submission metadata

Information about the submission, not the form data:

  • [CF_TIMESTAMP] — full UTC timestamp of submission.
  • [CF_DATE] — date in your site’s date format.
  • [CF_TIME] — time in your site’s time format.
  • [CF_SUBMISSION_ID] — the database ID of this submission row.
  • [CF_IP_ADDRESS] — IP the submission came from.
  • [CF_USER_AGENT] — browser user-agent string.

Use [CF_DATE] in subject lines: “New lead — [CF_DATE].” Searchable in Gmail, sortable in inboxes.

The referrer family

Where the form was submitted from:

  • [CF_REFERRER_URL] — full URL of the page the form was on.
  • [CF_REFERRER_HOST] — just the host portion.
  • [CF_REFERRER_PATH] — just the path portion.
  • [CF_POST_ID] — the WordPress post ID containing the form.
  • [CF_POST_TITLE] — the post’s title.
  • [CF_POST_URL] — alias of [CF_REFERRER_URL].

These are gold for analytics. A contact form on three pages, one form record. The referrer tells you which page converted.

For a multi-page lead funnel, append [CF_POST_TITLE] to your CRM “lead source” field. You’ll know which content drove which lead.

User context (when logged in)

If the submitter is logged into WordPress:

  • [CF_USER_ID] — their WP user ID.
  • [CF_USER_LOGIN] — their username.
  • [CF_USER_EMAIL] — their account email.
  • [CF_USER_DISPLAY_NAME] — their display name.

Empty when the submitter is a guest.

Use case: a member portal where logged-in users can request things. The form auto-tags the request with the user, no fields needed.

Form context

Information about the form itself:

  • [CF_FORM_ID] — the form’s ID.
  • [CF_FORM_TITLE] — the form’s name.

Use [CF_FORM_TITLE] in email subjects: “[CF_FORM_TITLE] — New submission.” When you have 10 forms feeding the same inbox, this tells you which one fired.

Site context

Where the submission happened, in site terms:

  • [CF_SITE_NAME] — your site’s name (Settings → General).
  • [CF_SITE_URL] — your home URL.
  • [CF_ADMIN_EMAIL] — your site’s admin email.

Useful in auto-responders: “Thanks for contacting [CF_SITE_NAME]” instead of hardcoding the brand name.

Where you can use them

All 25 work in:

A token works the same way in every context.

Real patterns I use

1. The lead source tag. In every CRM action, set a “Source” property to:

[CF_FORM_TITLE] — [CF_REFERRER_HOST][CF_REFERRER_PATH]

Result in CRM: “Demo Request — yoursite.com/pricing”

2. The redirect with context. Send users to a thank-you page, prefilled with their context:

/thanks/?email=[email]&form=[CF_FORM_ID]

The thank-you page can read the email from the URL and personalize the message (“Thanks, [first name]!”). Or fire conversion pixels with the email as a hashed identifier.

3. The webhook for Zapier. POST every submission to a Zapier webhook trigger with a JSON body that includes referrer:

{
  "name": "[name]",
  "email": "[email]",
  "source_page": "[CF_REFERRER_URL]",
  "form": "[CF_FORM_TITLE]",
  "submitted_at": "[CF_TIMESTAMP]"
}

Zapier fans out to whatever five tools you’ve wired downstream.

4. The auto-responder with branding. In the auto-responder action body:

Hi [name],

Thanks for reaching out to [CF_SITE_NAME] from [CF_REFERRER_PATH].
We typically respond within 4 hours during business days.

Reference number: [CF_SUBMISSION_ID]

— The team at [CF_SITE_NAME]

The reference number is golden. When the user follows up later, “I submitted #1387” lets you find their record instantly.

What the variables don’t do

A few honest limits:

1. No conditional logic in the variable itself. You can’t write [email if not empty]. If the field is empty, the variable renders as empty string.

2. No formatting transformations. No [name | uppercase] or [email | lowercase]. The value renders verbatim.

3. No nested data. A single [address] field can’t be split into [address.street] and [address.city]. If you need that, split the form into multiple fields.

For 95% of automations, the basic substitution is enough.

The next step

Open one form. Add [CF_REFERRER_URL] to the email notification subject. Submit a test. Notice the inbox is suddenly more useful.

The full list lives in the form’s Actions tab — every action has a “data variables” reference panel with all 25 tokens. Bundled with everything else.

Build the form. Stop reading.

Every note here came out of a real Core Forms setup. Use CFLAUNCH for 20% off either plan.