Smart Tags

Insert relevant information into your Joomla forms, much like how a programmer uses variables when writing code. Capture current URL, referrer URL or even the visitor's IP address in form fields.

Smart Tags Has More Options in Pro
Additional features are locked in the free version. Upgrade to Convert Forms Pro to get the most out of it.
Unlock all features

Smart Tags are dynamic placeholders wrapped in curly braces, like {date} or {field.email}, that insert real data into your forms, emails, and notifications. Each time a submission is captured, they pull in details from the submission, the form, the visitor, and even site-wide information.

Form Fields

You’ve captured the submission. Now what? You’ll usually want to feed what people typed back to them: drop their name into a thank-you message, echo their answers in a confirmation email, or pass a value into a hidden field.

That’s what Field Smart Tags are for. The syntax is simple:

{field.NAME}

where NAME is the field name from its settings. A field named Email becomes {field.email}, and on submit it outputs whatever the user entered.

Beyond the plain value, you can also pull the field’s label, an HTML-formatted version, or the raw unescaped content. Each variation is covered below.

Output Field Label

Use this tag when you need to output a field’s label, so you don’t have to retype it manually.

{field.NAME.label_}

Note: The trailing underscore _ is required.

Output Field HTML Version

Some fields provide an HTML-friendly version of their value. Useful when you want clickable links or formatted output.

{field.NAME.html}

Supported fields include:

  • Email → Clickable mailto link (<a href="mailto:...">)
  • Phone → Clickable tel link (<a href="tel:...">)
  • URL → Clickable hyperlink (<a href="/...">)
  • File Uploads → List of download links for uploaded files
  • Password → Replaced with asterisks for privacy
  • Signature → Renders as an <img> tag with the actual signature

Output Field Raw Value

Use this tag if you want the raw submitted value without any modifications. For example, to preserve HTML tags exactly as entered by the user.

{field.NAME.raw}

Output Dropdown and Radio Button Data

Use these tags with Dropdown or Radio Button fields when you need the selected option’s label or its calculated value.

To output the label of the selected option, use:

{field.NAME.selected.label}

Note that if you're populating the field's choices using PHP, the above Smart Tag will always output the value of the selected option instead of the label. This happens because the PHP script that populates the choices runs only during form rendering.

If you use Calculations, to output the calculation value of the selected option, use: 

{field.NAME.selected.calcvalue}

{submission.fields}

Field Smart Tags print one value at a time. That's fine for a field or two, but if your form has numerous fields, adding them one by one isn't clever.

That's where {submission.fields} comes in. With a single Smart Tag you output all the values the visitor submitted. Very handy.

The syntax is simple. Use {submission.fields} and you get a label/value list like the one in the screenshot below:

submission fields list

If that output doesn't fit your needs, this Smart Tag can also render the values in a tabular style, using the --tmpl=table modifier:

{submission.fields --tmpl=table}

submission fields table

Supported options:

Option What it does
--hideLabels=true Output values only, without the field labels.
--excludeEmpty=true Skip fields that have no value.
--excludeFields=text1,dropdown2 Exclude specific fields by name.
--excludeTypes=hidden Exclude fields by type.
--excludeHiddenByLogic=true Exclude fields hidden by conditional logic at the time of submission.
--tmpl=table Render as a table instead of the default list.
--styles=false Output the bare table without inline CSS, so it inherits your own styling. Only applies when --tmpl=table is used.

Options can be combined. For example, {submission.fields --excludeEmpty=true --excludeTypes=hidden} outputs only the fields that have a value and drops all Hidden fields.

Deprecated Warning: The Smart Tag {all_fields} is deprecated. Use {submission.fields} instead, which produces the same output and supports more options. {all_fields} and {all_fields_filled} still work as aliases.

{submission.fields} outputs only fields that capture a submitted value. Non-input elements, such as Heading and HTML fields, aren't included. To print one of those, add its own Smart Tag using {field.ID}, where ID is the ID of the non-input field.

Submission Identity

These tags output the submission's own identity: its ID and status, the dates it was received and last updated, and the form it belongs to. Each value is exposed as a {submission.<name>} Smart Tag.

Title Syntax Description
ID {submission.id} The unique ID of the submission.
Date Submitted {submission.dateCreated} The date and time the submission was received.
Date Modified {submission.dateModified} The date and time the submission was last updated.
Status {submission.status} The submission status as a raw value: 1 for confirmed, 0 for unconfirmed.
Status Label {submission.status_label} The submission status as a readable label: Confirmed or Unconfirmed.
Form ID {submission.form_id} The ID of the form this submission belongs to.
Form Name {submission.form_name} The name of the form this submission belongs to.

{submission.identity}

{submission.identity} outputs the submission's identity in one go: its ID, the form it belongs to, its status, and the dates it was submitted and last modified. Internal notes are excluded.

It renders a label/value list by default, or a table when you add --tmpl=table.

Supported options:

Option What it does
--hideLabels=true Output values only, without the detail labels.
--excludeEmpty=false Include blank values. By default, details with no value are skipped.
--exclude=status_label Exclude specific details by name.
--tmpl=table Render as a table instead of the default list.
--styles=false Output the bare table without inline CSS, so it inherits your own styling. Only applies when --tmpl=table is used.

Submission Context

These tags output the context Convert Forms captures for each submission: who submitted it, where they came from, the device they used, and the campaign that brought them in. Each value is exposed as a {submission.<name>} Smart Tag, mirroring the details on the Submission Context Tracking screen.

Title Syntax Description
Joomla User ID {submission.user_id} The Joomla user ID of the submitter, when logged in. Use {submission.user_id.html} to link to the submitter's Joomla user profile.
Joomla User Login {submission.user_login_name} The Joomla username of the submitter, when logged in.
Joomla User Name {submission.user_name} The full name of the submitter, when logged in.
Joomla User Email {submission.user_email} The account email of the submitter, when logged in. Use {submission.user_email.html} for a clickable mailto: link.
Visitor ID {submission.visitor_id} An anonymous identifier for the visitor who submitted the form.
IP Address {submission.ip} The IP address the submission was sent from. Requires IP address tracking to be enabled (it is by default).
Country Code {submission.country_code} The two-letter country code resolved from the IP address. Requires Geolocation Features to be enabled; otherwise it stays empty.
Country Name {submission.country_name} The full country name, derived from the Country Code. As long as a Country Code is stored, it resolves even if geolocation is later disabled.
Device Type {submission.device} The device type detected: Desktop, Mobile or Tablet.
Operating System {submission.os} The operating system detected from the user agent.
Browser {submission.browser} The web browser detected from the user agent.
User Agent {submission.user_agent} The raw browser user-agent string.
Source Page Title {submission.page_title} The title of the page where the form was submitted.
Source URL {submission.source_url} The URL of the page where the form was submitted. Use {submission.source_url.html} for a clickable link.
Source Domain {submission.source_domain} The domain of the page where the form was submitted, parsed from the source URL (without www).
Source Path {submission.source_path} The path of the page where the form was submitted, parsed from the source URL (without the domain or query string).
Referrer URL {submission.referrer_url} The page the visitor came from before submitting. Use {submission.referrer_url.html} for a clickable link.
Referrer Domain {submission.referrer_domain} The domain the visitor came from before submitting, parsed from the referrer URL (without www).
UTM Source {submission.utm_source} The utm_source campaign parameter from the landing URL (e.g. google, newsletter).
UTM Medium {submission.utm_medium} The utm_medium campaign parameter from the landing URL (e.g. cpc, email).
UTM Campaign {submission.utm_campaign} The utm_campaign campaign parameter from the landing URL.
UTM Term {submission.utm_term} The utm_term campaign parameter from the landing URL (paid keywords).
UTM Content {submission.utm_content} The utm_content campaign parameter from the landing URL (A/B variant).

{submission.context}

Convert Forms also auto-captures context about every submission, like the IP, browser, location, and the campaign that brought the visitor in, the same details listed in the table above.

Instead of printing them one by one, {submission.context} outputs the whole context block at once, as a label/value list like the one in the screenshot below:

metadata list

If that output doesn't fit your needs, this Smart Tag can also render the values in a tabular style, using the --tmpl=table modifier:

metadata table

Supported options:

Option What it does
--hideLabels=true Output values only, without the detail labels.
--excludeEmpty=false Include blank values. By default, details with no value are skipped.
--exclude=ip,user_agent Exclude specific details by name.
--tmpl=table Render as a table instead of the default list.
--styles=false Output the bare table without inline CSS, so it inherits your own styling. Only applies when --tmpl=table is used.

Other Smart Tags

Tags that don't belong to the submission's identity or its tracked context: the admin's internal notes, the generated PDF, and a running submission count.

Title Syntax Description
Submission Notes {submission.notes} Internal notes added to the submission from the admin.
PDF {submission.pdf} The absolute URL of the submission's generated PDF file. Requires the PDF Form Submissions addon. Use it as an email attachment or as a download link.
Submissions Count {submissions.count} The total number of times the current form has been submitted. Great for social proof, e.g. "Join 3,482 people who already signed up." The number updates on its own as submissions come in.

Form Smart Tags

These tags provide access to form metadata and properties. They can be used either during form rendering or form submission.

Title Syntax Description
Form ID {form.id} The ID of the form that was just used. Useful for analytics tracking, database references, or API calls.
Form Name {form.name} The name of the form that was just used. Handy in emails so recipients can tell which form was submitted, especially when several forms share one recipient or email template.

Because the form is loaded into a Registry object, {form.NAME} can return any property of the form, not just the two above, as long as you know its key. Top-level properties are read directly, e.g. {form.state} or {form.created}. The form's Design settings are stored under params, so reach them with {form.params.KEY}, for example {form.params.bgcolor} for the form background color, {form.params.inputcolor} for the field text color, or {form.params.inputfontsize} for the field font size.

Global Smart Tags

You've seen how submission and form Smart Tags pull in data tied to a specific submission. But there's another group that works no matter what the user submits, or whether a form was submitted at all.

Global Smart Tags add context from outside the form: where the visitor is, what page they're on, their IP, the logged-in user account, the date, and more. Because they apply everywhere on your site (not just inside Convert Forms), they're handy for personalizing content, tracking analytics, or enriching your notifications.

For a full list of what’s available, see the Global Smart Tags documentation guide.

Where You Can Use Smart Tags

Smart Tags work both after a form is submitted and during form rendering, for example to pre-populate a field with a value or to display dynamic content inside an HTML field.

You can use them in many places, including:

  • Email Notifications: Insert submission details into subject lines or message bodies.
  • Form Field Settings: Set default values, placeholders, or hidden field values dynamically.
  • Tasks & Integrations: Pass data to services like MailChimp, HubSpot, Emails, or Webhooks.
  • Success Messages: Personalize the confirmation message the user sees after submitting a form.

Here are some practical workflows, with links to relevant guides:

Rules

Values Are Escaped by Default

For security, Field Smart Tags escape their output by default. HTML tags are converted to entities, so user input can't inject markup into your emails or pages.

For example, if you accept user-generated content with a Rich Text Editor and the user submits:

<strong>Hello</strong>

then {field.NAME} outputs:

&lt;strong&gt;Hello&lt;/strong&gt;

If you need the raw value with HTML preserved, use the .raw variation, {field.NAME.raw} (see Output Field Raw Value).

Frequently Asked Questions

Why is my Smart Tag showing up as plain text instead of a value?

Usually one of three things: the field name is wrong (it must match the field's name exactly, not its label), you're using a submission tag somewhere it runs before the form is submitted, or there's a typo in the curly braces. Double-check the field name in its settings.

Where do I find a field's NAME?

Open the field in the form editor and look at its Name setting (not the label). A field named email is used as {field.email}.

My HTML is coming out as &lt;strong&gt; instead of bold text. Why?

Field Smart Tags escape their output by default for security, so HTML turns into entities. If you trust the source and want the raw HTML preserved, use the .raw variation, {field.NAME.raw}.

What's the difference between {field.NAME}, {field.NAME.raw}, and {field.NAME.html}?

{field.NAME} outputs the value as safe, escaped text. {field.NAME.raw} outputs the exact value with no escaping. {field.NAME.html} outputs a formatted version for supported fields (a clickable email, phone, or URL link, a signature image, and so on).

A Smart Tag is coming out empty. What's wrong?

Some tags depend on optional features. Country and location tags need Geolocation enabled, the IP tag needs IP tracking on, and the Joomla account tags are only filled when the visitor was logged in.

Can I use Smart Tags in email notifications?

Yes. Drop them into the subject line or message body, and submission data gets inserted automatically when the email sends.

How do I attach the submission's PDF to an email?

Use {submission.pdf} in the Email Task's Attachments field. It returns the URL of the generated PDF and requires the PDF Form Submissions addon.

How do I output a dropdown's selected label instead of its value?

Use {field.NAME.selected.label}. For the calculation value of the selected option, use {field.NAME.selected.calcvalue}.

Smart Tags Has More Options in Pro
Additional features are locked in the free version. Upgrade to Convert Forms Pro to get the most out of it.
Unlock all features
Last updated on Jul 2nd 2026 14:07