Skip to content

Gravity Forms Merge Tags: Every Tag, Modifier and Live Merge Tag (Tested)

How Gravity Forms merge tags work in notifications, confirmations, default values and calculations, the modifiers worth knowing, live merge tags, and why a tag comes out blank.

Chris Eggleston 6 min read

Merge tags are placeholders like {Name (First):1.3} that Gravity Forms swaps for real entry data when a form is submitted. You use them in notifications, confirmations, add-on feeds and calculations, and a smaller set works in field default values before the form is submitted. To show one field’s answer in another part of the same form while the visitor is still filling it in, you need live merge tags from Populate Anything. Here’s how each kind works, the tags and modifiers worth knowing, and the mistakes that make a merge tag come out blank.

Everything below was tested on Gravity Forms 3.2 with an event RSVP form.

How Merge Tags Work

Anywhere you see the {..} button in Gravity Forms, click it to pick a merge tag from a list. A field merge tag looks like {Email:2}: the label is there to help you read it, and the number after the colon is the field ID that Gravity Forms actually uses. Renaming the field doesn’t break the tag. Deleting the field does.

Fields with several inputs (Name, Address, a checkbox field) have an ID for each input, like {Name (First):1.3} and {Name (Last):1.6}.

A Gravity Forms notification whose subject and message use merge tags such as Name First, Event page, date_mdy, all_fields:nohidden and entry_id, with the merge tag picker buttons
Merge tags in a notification’s subject and message. The {..} buttons open the list.

And here’s the email that notification sent:

The RSVP notification email: merge tags filled in with the guest name, event page, date, an all fields table without hidden fields, and the entry ID
The same notification after submission. {all_fields:nohidden} left out the two hidden fields.

Where You Can Use Merge Tags

  • Notifications: Send To (when set to a field or typed in), From Name, Reply To, BCC, Subject and Message.
  • Confirmations: the message text, and the query string of a page or redirect confirmation, for example ?email={Email:2:urlencode}.
  • Add-on feeds: most text settings in feeds (Mailchimp, Zapier, Webhooks, Stripe descriptions and so on).
  • Calculations: Number and product fields with calculations use field merge tags in the formula, like {Guests:3} * 45.
  • Field default values: only the tags that exist before submission (see below).

The Merge Tags Worth Knowing

Merge tagOutputs
{all_fields}A table of every answer
{form_title}, {form_id}The form’s title or ID
{entry_id}The entry ID, handy as a reference number
{entry_url}A link to the entry in your dashboard (for admin emails)
{date_mdy}, {date_dmy}Today’s date, like 10/26/2026 or 26/10/2026
{date_created}When the entry was submitted
{user:display_name}, {user:user_email}Details of the logged-in user. Any user meta key works: {user:first_name}
{created_by:display_name}Details of the user who submitted the entry
{embed_url}The URL of the page the form was on
{embed_post:post_title}The title (or other property) of the post or page the form was on
{ip}The visitor’s IP address
{admin_email}Your site’s admin email address
{pricing_fields}An order summary of product fields

Modifiers: Change What a Merge Tag Outputs

Add a modifier after another colon. The ones I use most:

  • {Meal:4:value}: the choice’s value instead of its label. In my test, “Gluten-free” came out as gf, which is what you want when sending data to another system.
  • {Email:2:urlencode}: makes the value safe in a URL, for redirects with query strings.
  • {Price:5:numeric}: a plain number with no currency symbol or thousands separator.
  • {all_fields:nohidden}: leaves out Hidden fields. Use it in emails to customers so tracking fields don’t show.
  • {all_fields:admin}: uses each field’s Admin Field Label instead of its label.
  • {all_fields:empty}: includes fields that were left blank, which {all_fields} normally skips.

You can combine {all_fields} modifiers with commas: {all_fields:nohidden,admin}.

Merge Tags in Field Default Values

Default values are filled in when the form loads, so only tags that are known at that point work there: {user:…} details of the logged-in user, {date_mdy} and {date_dmy}, {embed_url}, {embed_post:post_title} and other post properties, {custom_field:your_key} (a custom field on the page the form is embedded on), {ip}, {user_agent} and {referer}.

My RSVP form uses two Hidden fields with {embed_post:post_title} and {date_mdy} as their default values, so every entry records which event page it came from. Put the same form on another event’s page and the entries are labeled automatically. Field merge tags like {Name (First):1.3} don’t work in default values, because nobody has typed anything yet when the form loads.

Show an Answer Elsewhere in the Same Form (Live Merge Tags)

Gravity Forms can’t show one field’s answer in another part of the form while the visitor is still filling it in. Populate Anything from Gravity Wiz adds this as live merge tags: the same tags with an @ in front, like @{Name (First):1.3}, in an HTML field, a field label or description, or a default value. They update as the visitor types.

An RSVP form where a live summary box repeats the visitor first name, number of guests and meal choice as the fields are filled in
The blue box is an HTML field with live merge tags.

The HTML field in that form contains:

<strong>Your RSVP so far:</strong> @{Name (First):1.3} is coming with
@{Guests you are bringing:3} guest(s) and chose the @{Meal:4} meal.

The box refreshes about a second after a field changes, because Populate Anything fetches the new text from your server.

Show Text Only When an Answer Matches

The conditional shortcode works in notifications and confirmations. My RSVP confirmation only mentions extra seats when someone is bringing guests:

Thanks, {Name (First):1.3}! You're on the list for {Event page:6}.
[gravityforms action="conditional" merge_tag="{Guests you are bringing:3}" condition="greater_than" value="0"]We've saved {Guests you are bringing:3} extra seat(s) for your guests.[/gravityforms]
Meal: {Meal:4} (saved as {Meal:4:value}).

Submitted with three guests and the gluten-free meal, the visitor saw: “Thanks, Dana! You’re on the list for Summer Client Mixer. We’ve saved 3 extra seat(s) for your guests. Meal: Gluten-free (saved as gf).” With zero guests, the middle sentence disappears. Conditions include is, isnot, greater_than, less_than, contains, starts_with and ends_with.

Why a Merge Tag Comes Out Blank

  • You used the whole-field tag for a Name field. {Name:1} outputs nothing, because a Name field’s answers are stored per input. Use {Name (First):1.3} {Name (Last):1.6}. I hit this after importing a WPForms form, whose notifications came out as “New quote request from ” with no name.
  • The field was hidden by conditional logic. Hidden fields aren’t saved, so their tags are empty. Wrap the text in a conditional shortcode if it shouldn’t show at all.
  • The field ID changed. If you deleted a field and added a new one, the old tag points at an ID that no longer exists, and Gravity Forms prints the tag as plain text. Pick it again from the {..} list.
  • It’s a field tag in a default value. Field answers don’t exist until submission. Use live merge tags instead.

Frequently Asked Questions

What is a merge tag in Gravity Forms?

A placeholder in curly braces, like {Email:2}, that Gravity Forms replaces with data from the entry, the form, the user or the site when it sends a notification, shows a confirmation or runs a feed.

How do I show the full name in a Gravity Forms notification?

Use the first and last name inputs together: {Name (First):1.3} {Name (Last):1.6}, with your field’s ID in place of 1. The whole-field tag {Name:1} outputs nothing.

Can I use merge tags inside form fields?

In default values, only tags known before submission work, such as user details, dates and the embed page. To show one field’s answer in another part of the same form as the visitor types, use live merge tags from Populate Anything.

How do I get a choice’s value instead of its label?

Add the :value modifier, for example {Meal:4:value}. Without it, Gravity Forms outputs the label the visitor saw.

How do I hide Hidden fields from {all_fields}?

Use {all_fields:nohidden}. Add :admin to use admin labels, or :empty to include fields that were left blank.

Need More Help?

If you still need help, use the chat or leave a comment below and we’ll get back to you.

Comments

Ask a question or leave a comment

Your email is never shown. For help with a specific form, share what you expected and what happened instead.