Migrating between Contact Form 7 and Gravity Forms
This page lists what GravityMigrate does with each kind of Contact Form 7 field and setting, in both directions, as read from the migration code itself. The tables are generated from the plugin, so they change when it does. For the steps, and for the wording of the report the wizard shows before it runs, see Migrating forms from another form plugin.
Checked against Contact Form 7 6.1.4.
From Contact Form 7 into Gravity Forms #
| Contact Form 7 field | In Gravity Forms |
|---|---|
text | Single Line Text |
email | |
textarea | Paragraph Text |
number | Number |
range | Number |
url | Website |
tel | Phone |
date | Date |
hidden | Hidden |
select | Drop Down |
radio | Radio Buttons |
checkbox | Checkboxes |
file | File Upload |
acceptance | Consent |
quiz | Single Line Text |
captchac | CAPTCHA |
captchar | CAPTCHA |
turnstile | CAPTCHA |
stripe | Credit Card |
Contact Form 7 tags that are furniture rather than data, so they have no field on the Gravity Forms side: submit, count, output, reflection, response, recaptcha.
Fields that arrive with a note
| Contact Form 7 field | What the migration does |
|---|---|
captchac | Really Simple CAPTCHA, which needs that separate plugin, and its keys are not something a migration can carry. |
captchar | The image half of Really Simple CAPTCHA, which needs that separate plugin and keys a migration cannot carry. |
turnstile | Spam protection configured with keys of its own. |
stripe | A payment field, which belongs to a payment feed rather than to a field. |
From Gravity Forms into Contact Form 7 #

| Gravity Forms field | In Contact Form 7 |
|---|---|
| Single Line Text | text |
| Paragraph Text | textarea |
| Name | text |
email | |
| Phone | tel |
| Address | text |
| Number | number |
| Date | date |
| Time | text |
| Drop Down | select |
| Multi Select | select |
| Checkboxes | checkbox |
| Radio Buttons | radio |
| Hidden | hidden |
| HTML | Not migrated |
| Section | Not migrated |
| Page | Not migrated |
| File Upload | file |
| Website | url |
| CAPTCHA | Not migrated |
| Consent | acceptance |
| List | Not migrated |
| Password | text |
| Credit Card | Not migrated |
| Total | Not migrated |
| Product | Not migrated |
| Quantity | Not migrated |
| Option | Not migrated |
| Shipping | Not migrated |
| Coupon | Not migrated |
| Likert | Not migrated |
| Rank | Not migrated |
| Rating | Not migrated |
| Survey | Not migrated |
| Poll | Not migrated |
| Quiz | Not migrated |
| Post Title | Not migrated |
| Post Body | Not migrated |
| Post Excerpt | Not migrated |
| Post Category | Not migrated |
| Post Tags | Not migrated |
| Post Image | Not migrated |
| Post Custom Field | Not migrated |
| Signature | Not migrated |
| Repeater | Not migrated |
| Multiple Choice | checkbox |
| Image Choice | radio |
| Chained Selects | select |
Form settings Contact Form 7 cannot hold
These Gravity Forms settings have no counterpart in Contact Form 7. The migration names each one as left behind: Anti-spam honeypot, Entry limit, Require user to be logged in, Form description, Confirmations, Redirect confirmations, Notification names, Submit button conditional logic.
Merge tags #
Merge tags in notifications and confirmations are translated where both plugins have one:
| Gravity Forms | Contact Form 7 |
|---|---|
{date_mdy} | [_date] |
{admin_email} | [_site_admin_email] |
{form_title} | [_contact_form_title] |
{ip} | [_remote_ip] |
{user_agent} | [_user_agent] |
{embed_url} | [_url] |
{post_id} | [_post_id] |
{embed_post:post_title} | [_post_title] |
{user:user_email} | [_user_email] |
{user:user_login} | [_user_login] |
{user:display_name} | [_user_display_name] |
A merge tag with no counterpart is left as written and named in the report.
Related articles #
- Migrating forms from another form plugin, which links the reference page for every other plugin
- Getting started with GravityMigrate