🎉 Celebrate with 10% OFF on All Products! Use Code: GFEX10 Or Buy Any 2+ Items for 30% OFF with Code: GFEX30!

Repeater for Elementor Pro Forms Setup Guide

Updated 9 min read Gravity Forms Fields & Inputs
On this page
  1. What you need
  2. Install and activate
  3. Add a Repeater field
  4. The row field format
  5. What visitors see
  6. Checks on the server
  7. E-mails
  8. Submissions and export
  9. Webhooks, Zapier and Make
  10. How it differs from the usual workarounds
  11. Tips
  12. Licence, updates and uninstall
  13. Troubleshooting

The Repeater for Elementor Pro Forms add-on adds a new field type, Repeater, to the Elementor Pro Form widget. It is a group of fields that visitors can repeat: one row per guest, attendee, child, vehicle or product, with an Add button and a Remove button on each row. You choose the fields of a row, the minimum and maximum number of rows, the row label and the button texts. The rows are checked in the browser and again on the server, and they reach every action after submit: the e-mails, the Submissions screen, webhooks and the other integrations. This guide covers installing it, building a repeater, the row field format, the limits, the e-mail shortcodes, webhooks, the Submissions screen and the licence.

What you need

You need WordPress 6.2 or newer, PHP 7.4 or newer, Elementor and Elementor Pro with the Form widget. The add-on was checked with Elementor and Elementor Pro 3.33. Everything runs on your own site: the add-on makes no outside connection beyond checking gravityextra.com for your licence and plugin updates. Your form data never leaves your server through the add-on; it only goes where your own actions after submit send it.

Install and activate

  • Upload the add-on zip in Plugins → Add New → Upload Plugin and activate it.
  • Go to Settings → Elementor Form Repeater, enter your GravityExtra licence key and press Activate License.
  • Open a page with Elementor. The Form widget now has a field type called Repeater.

Until the licence is active, Repeater fields are not shown to visitors and nothing is collected from them. The rest of the form keeps working, and a required Repeater field never blocks a submission while the licence is inactive. People who can edit the site see a short note in place of the field, so you know why it is missing. Only administrators can open the settings page and change the licence.

The Settings, Elementor Form Repeater page: licence activation with a masked key and a short how-to with the row field format
The Settings, Elementor Form Repeater page: licence activation with a masked key and a short how-to with the row field format.

Add a Repeater field

Edit your page with Elementor and select the Form widget. In Form Fields, add an item, set its Type to Repeater and give it a label, for example “Guests”. The field ID (in the Advanced tab of the item) is what you use in shortcodes and webhooks, so give it a short, clear name such as guests. The Repeater item has these settings:

  • Row fields: the fields of one row, one per line (format below).
  • Minimum rows: how many rows are shown at first and cannot be removed (default 1). Use 0 to let visitors remove every row.
  • Maximum rows: when this number is reached the Add button is hidden (default 5, up to 50).
  • Row label: the title of each row. {n} is replaced by the row number, so “Guest {n}” gives Guest 1, Guest 2 and so on.
  • Add button text and Remove button text: your own wording, for example “Add a guest”.
  • Fields per line: 1, 2 or 3 row fields side by side on wide screens. On phones every field takes the full width, and text areas always do.
  • Required (the usual Elementor switch): the visitor must fill in at least one row, or the minimum number of rows.
The Elementor editor with the Form widget open: a field of type Repeater with its row fields, minimum and maximum rows, row label, button texts and fields per line
The Elementor editor with the Form widget open: a field of type Repeater with its row fields, minimum and maximum rows, row label, button texts and fields per line.

The row field format

Write one field per line, with up to four parts separated by a vertical bar: Label | type | required | choices. Only the label is needed; the type defaults to text. For example:

Full name | text | required
Email | email | required
Age | number
Meal | select | required | Standard, Vegetarian, Vegan
Arrival | date
Notes | textarea
  • text: a single line of text.
  • email: an e-mail address, checked for a valid format.
  • number: a whole or decimal number, such as 7 or 12.5.
  • select: a drop-down. List the options in the fourth part, separated by commas. The answer must be one of them.
  • date: a date picker; the value is stored as year-month-day, for example 2026-12-18.
  • textarea: several lines of text. In e-mails the line breaks of a row are shown as ” / “.
  • Write required in the third part to make that field required in every row that is filled in. Leave it empty for an optional field.
  • Lines that start with # are ignored, so you can keep notes. A row can have up to 20 fields.

Each row field gets a key made from its label: “Full name” becomes full_name. If two labels are the same, the second key gets _2.

What visitors see

The form shows the minimum number of rows (at least one). Each row has its label, its fields and a Remove button; the Remove button is hidden while the number of rows equals the minimum. Below the rows is the Add button, which disappears when the maximum is reached. Labels renumber when a row is removed. Screen readers hear the new number of rows, and focus moves to the first field of a new row.

A group booking form built with Elementor Pro: two guest rows with full name, email, age, meal, arrival date and notes, a Remove button on each row and an Add a guest button
A group booking form built with Elementor Pro: two guest rows with full name, email, age, meal, arrival date and notes, a Remove button on each row and an Add a guest button.

Required row fields are marked with an asterisk. If the whole Repeater is required, the rows up to the minimum must be filled in. If it is optional, a row only needs its required fields once the visitor starts typing in it, so an untouched optional Repeater never stops the form. Rows left completely empty are ignored. After a successful submission, the field goes back to its first empty rows, together with the rest of the form. The field also works in Elementor popups.

Checks on the server

The browser checks are there for comfort; the real checks run on your server when the form is sent. The add-on reads the row fields from the saved form, not from the browser, and checks the number of filled rows against the minimum and maximum, every required value, every e-mail address, number, date and drop-down option. Problems are shown under the field, for example “Guest 2, Email: enter a valid e-mail address.” Up to three problems are listed at once, followed by how many more there are. Values are cleaned of HTML before they are stored or sent.

E-mails

The Email and Email 2 actions show the rows in three ways:

  • [all-fields] lists the Repeater like any other field, with one line per row, for example: Guest 1: Full name: Ann Lee; Email: ann@lakeside.example; Meal: Vegetarian. In HTML e-mails each row starts on a new line.
  • [field id="guests"] gives the same lines for that field only.
  • [ge_repeater id="guests"] shows all rows as a table with one column per row field (HTML e-mails), or one line per row in plain-text e-mails.
The booking notification e-mail: every guest on its own line from the all-fields shortcode, followed by a table of all guests from the repeater shortcode
The booking notification e-mail: every guest on its own line from the all-fields shortcode, followed by a table of all guests from the repeater shortcode.

Replace guests with the field ID of your Repeater. Empty values are left out of the lines, and empty cells stay empty in the table.

Submissions and export

With the Collect Submissions action, the Repeater value is stored as readable text, one line per row, and shows in Elementor → Submissions and in the CSV export like any other field.

Webhooks, Zapier and Make

The Webhook action sends the readable lines under the field label, as for any other field. When “Advanced Data” is off, the add-on also adds guests_rows (your field ID followed by _rows): a JSON list with one object per row, keyed by the row field labels, for example [{"Full name":"Ann Lee","Email":"ann@lakeside.example"}]. In Zapier or Make, parse that value as JSON to loop over the rows. When “Advanced Data” is on, the list is in fields.guests.raw_value and the readable lines in fields.guests.value.

Other actions after submit, such as e-mail marketing or CRM integrations, receive the readable lines, so the whole group is kept together in one note or text field.

How it differs from the usual workarounds

Without a repeater, sites usually pick one of three workarounds. Each has a cost that this add-on removes.

  • Numbered copies of the same fields (Guest 1 name, Guest 2 name, Guest 3 name, …) make the form long, set a hard limit on the number of people, and fill your e-mails and spreadsheets with empty columns. With the Repeater field the visitor sees only the rows they need, up to the maximum you set, and empty rows are never sent.
  • Show / hide tricks (a “How many guests?” drop-down that reveals blocks of fields) still need every block built by hand, and each change means editing every copy. Here you write the row fields once, and every row follows them.
  • One submission per person splits a single booking into several entries that you have to match up afterwards. With the Repeater field the whole group arrives in one submission, one e-mail and one webhook call.
  • Repeaters that only store raw data often leave you with a block of JSON in the e-mail or the Submissions screen. This add-on turns the rows into readable lines for people and a clean list of rows (one object per row) for automations such as Zapier or Make.

Every row is also checked again on the server, with the same rules as in the browser, so a changed or scripted request cannot slip past the minimum and maximum rows, the required values, the e-mail format, the number format, the date format or the list of options.

Tips

  • Keep row fields short: three to six fields per row read best on phones.
  • Use “Fields per line: 1” for long labels, 3 for short ones such as name, age and size.
  • Set Maximum rows to what you can really serve, such as the number of seats left in a group, rather than leaving the default.
  • Use a select field with clear options instead of free text when you need to count answers, for example meal choices.
  • Put [ge_repeater id="your_field_id"] in the staff e-mail and [all-fields] in the confirmation sent to the visitor.

Licence, updates and uninstall

Activate or deactivate your licence in Settings → Elementor Form Repeater. With an active licence you get plugin updates in Dashboard → Updates. The licence is checked again about once a week. Deactivating the plugin stops that check; deleting the plugin removes its own settings. Your forms and past submissions are never changed by deactivating or deleting the add-on: a Repeater field simply stops showing until the add-on is active again.

Troubleshooting

  • The Repeater type is missing: check that Elementor Pro is active; the add-on shows a notice when it is not.
  • Visitors do not see the field: check the licence status on the settings page.
  • The form says a row is not valid: read the message under the field; it names the row and the row field.
  • A drop-down answer is refused: the answer must match one of the options exactly, so check the spelling of the options in the row fields.
  • The table does not appear in the e-mail: check that the id in the shortcode is the field ID from the Advanced tab, and that the e-mail is sent as HTML.

Still need help?

Our support team answers tickets every day, usually within a few hours.

0
0
Your Cart
Your cart is emptyReturn to Shop
🔥 FREQUENTLY BOUGHT TOGETHER
Complete Combo & Save 40%!
ITEM IN YOUR CART
Gravity Forms Klaviyo Add-on
$39.00/yr
+
🎁 RECOMMENDED ADD-ON SAVE 40% OFF
Original Price: $39.00/yr
Bundle Special Price: $23.40/yr