Exporting Form Entries

Exporting Form Entries

In this article, we will show you how to export all of your form entries (submissions) to enable further analysis or manipulation in external tools.

First, log into your WordPress admin dashboard.From within inside your WordPress admin, hover over Forms and click on Import/Export.

You should be immediately prompted with the Export Entries tab. Within here, select the form that you want to export the entries for in the dropdown.Once the form to export entries from is selected, additional options will be shown. The first of these settings is the Select Fields option. This will allow you to specifically select the form fields you want to export. Simply select the checkboxes next to each form field that you want to export.

The next available option is Conditional Logic. Here, you are able to export only fields that contain specific information.Lastly, you may also select a date range for the field submissions that are exported. If you leave this blank, all entries will be exported.Once all options are appropriately selected according to your needs, click the Download Export File button. Depending on the amount of information you have within your export it may take some time to download the .csv file.

You have now exported your form entries. From here, what you do with this information is all up to you. This feature is great for backing up your data, as well as generating an offline copy of submissions for further investigation.

Extending the Dropbox Add-On

Extending the Dropbox Add-On

The Dropbox Add-On provides hooks that can be used to modify the default functionality or extend it. For more information, review the Dropbox category.
Looking for information about what properties the Dropbox Upload field uses in the Field Object or what format it』s value is stored in the Entry Object and how you can access it? Then take a look at the GF_Field_Dropbox article.
Because the Dropbox Add-On is built using the Add-On Framework, it also inherits any hooks available in the framework methods it uses such as:

gform_short_slug_field_value for changing the Dropbox Upload field value before it is used to upload the files to Dropbox.
gform_short_slug_error for performing a custom action when the add-on experiences an error processing a feed.

FAQ About Gravity Forms Language Translation Files

FAQ About Gravity Forms Language Translation Files

IntroductionFrequently Asked Questions?What has changed for Gravity Forms language files? What triggers a language file download? Can I download language files manually?What locale translation files are managed by Gravity Forms?What other locale translation files are available?Where are the language files stored now? What about if the WordPress user has their own selected locale?

Introduction

Language files provide translations of many of the most common Gravity Forms text and UI strings into additional languages. The way language translation files are accessed, loaded and stored has changed with Gravity Forms 2.5. This article provides information about how they are handled now.

Frequently Asked Questions?

What has changed for Gravity Forms language files?

Previously, all the core translation files were included in the Gravity Forms files package with each download. From Gravity Forms 2.5 though, language files are now hosted by the TranslationsPress service, and are downloaded as required during a few key events based on the languages specified in your WordPress admin. This provides a reduction in the overall size of the core file package, and it has also has changed where the files are stored.

What triggers a language file download?

Gravity Forms will trigger the download and installation of appropriate language files on the following events:

The installation of the Gravity Forms core plugin or a Gravity Forms add-on.The update of the Gravity Forms core plugin or a Gravity Forms add-on.When the site language is changed on the WordPress My Site → Settings page.

There are also a few conditions that can stop the download of the language file, such as if the installed translation last updated date is the same as the available version, or the translation language/locale is not found.

Can I download language files manually?

Language files can be downloaded for manual installation from the Translations page, which is accessible from the Help menu on the Gravity Forms site.

What locale translation files are managed by Gravity Forms?

There are a certain list of core locales that are updated and reviewed directly by Gravity Forms teams. These are generally checked for updates and updated monthly.

Brazilian (pt_BR)Dutch (nl_NL)French (fr_FR)German (de_DE)Hebrew (he_IL)Hindi (hi_HI)Italian (it_IT)Japanese (ja)Portuguese (pt_PT)Russian (ru_RU)Spanish (es_ES)Swedish (sv_SE)Turkish (tr_TR)

What other locale translation files are available?

With customers all over the world, there are many other language translations for Gravity Forms that have been authored and reviewed by volunteer contributors. A full list of these can be found on the Translations page on our website, noted under the manual download menu. Note that these are unofficial translations. Although as much care is taken as possible, Gravity Forms cannot guarantee the accuracy, speed or coverage of these updates. We do log all feedback received through our support channels, and provide it back to the contributors responsible.

To volunteer as a translation contributor, please see the Translation page.

Where are the language files stored now?

The translations are stored in WP_LANG_DIR/plugins/, where WP_LANG_DIR is your WordPress language directory. For example, /wp-content/languages/plugins/.

They can also be stored in WP_LANG_DIR/gravityforms/, and files here will be loaded before those in the default location mentioned above.

What about if the WordPress user has their own selected locale?

Support for the user selected locale was added in Gravity Forms v2.5.6. The user locale will be used first if set, and the default locale otherwise.

FAQ: Authenticating With Stripe

FAQ: Authenticating With Stripe

How does Gravity Forms authenticate with Stripe?I am new to the Stripe Add-On, what do I do?I already have the Stripe Add-On working, can I update to this more secure connection method?I already have the Stripe Add-On setup, but I don』t want to change anything right nowWhat Stripe user role do I need to authenticate my website to a Stripe account using Stripe Connect?Is Gravity Forms a Stripe partner?Does GravityForms.com store the data I collect with the Stripe Add-On?

How does Gravity Forms authenticate with Stripe?
Version 2.8 of our official Stripe add-on implements Stripe』s recommended Stripe Connect authentication and account linking method. This is a simpler and more secure way of connecting your Stripe account to your website that does not involve manual handling or storage of API keys. Stripe Connect streamlines the connection process for ease of use and improves security by preventing issues that may arise when copying and pasting details between Stripe and a settings page.
I am new to the Stripe Add-On, what do I do?
Just click the 「Connect With Stripe」 button shown in the Forms > Settings > Stripe page, or refer to this user guide for more details on how to connect.
If you don』t have a Stripe account yet, the 「Connect with Stripe」 button will offer you the chance to create a one. It only takes a few minutes. If you do have a Stripe account, you will just need your login credentials.
I already have the Stripe Add-On working, can I update to this more secure connection method?
You can. Indeed you will see a notice in your settings page recommending that you do. Stripe does recommend using their preferred method. Just click the 「Connect with Stripe」 button and follow the instructions provided by the secure stripe.com authentication page.

Updating the connection type will have no effect on any of your existing plug-in settings or form behavior. All your connected forms, feeds, and entries will be unchanged and will continue to work as expected.
I already have the Stripe Add-On setup, but I don』t want to change anything right now
You do not have to change your setup if you are happy with it. Your existing Stripe add-on will continue to function as it has been without any change.
If you want to specifically revert to the old Stripe add-on Settings page, you will need to modify your setup to incorporate this filter that allows you to modify that page and will remove the notification message.
What Stripe user role do I need to authenticate my website to a Stripe account using Stripe Connect?
Stripe states that 「Only user roles of owners or administrator can connect the Stripe account to Connect platforms.」 Note that Stripe has not extended this ability to the user role of 「developer」. As such, developers will need someone with administrator level access to connect the account to their Gravity Forms.
Is Gravity Forms a Stripe partner?
Yes. We are registered under the Stripe Partner Program. This process includes a strict set of requirements to ensure we adopt Stripe』s recommended best practices for security, API usage and connection methodology.
Does GravityForms.com store the data I collect with the Stripe Add-On?
The data you collect with your Stripe-connected forms may be stored on your server(s), like any other submission, depending on the connection method you chose when setting up the Stripe Add-On. Like all Gravity Forms form submissions, that information is not transmitted to our servers in any way.
As with all integrators with Stripe Connect, we are provided access to Stripe』s reporting portal which shows transactions that pass through our plug-in. Like all Stripe transactions, this data is stored and secured by Stripe, and is not transmitted to us in any way for any other purposes. Gravity Forms does not use any unique transaction data from this source, and we only review aggregate volume data occasionally to monitor performance of the add-on. Additionally, we have limited access to Stripe』s reporting portal to our company principals only.

Can Gravity Forms Do…?

Can Gravity Forms Do…?

A very common question we see is 「can Gravity Forms do X?」
Gravity Forms is a very flexible and powerful WordPress plugin. We keep a basic feature list here, and our library of help documents and user guides provides many more details. Additionally, our Customer Support Team are always available to try and help you get you an answer regarding product capabilities.
For other features, check out our Add-ons, which provide many ways to extend Gravity Forms or to interact with other popular services.
Additionally, we provide a robust development API, so don』t forget to search our third party add-on library or other common repositories for add-ons developed by third parties to work with Gravity Forms. Someone else may very well have already developed what it is you are thinking of!
If the feature you want isn』t covered by our core software or any available add-ons, but you have some software skills yourself, then maybe you can develop it yourself. Consult our developer documentation.
Still want a new feature or integration, but can』t develop it yourself? Consider hiring an developer (we do not provide custom development services). See this article for a few starting options.

Feed Object

Feed Object

IntroductionUsagePropertiesAdd-on ArticlesGF Feed Add-OnsGF Feed Add-OnsGF Payment Add-Ons

Introduction

The Feed Object ($feed) is an associative array containing all the properties which determine if and how the form submission is processed by an add-on. For example, the feed for a payment add-on determines the type of payment transaction which occurs and what values are sent to the payment gateway.

1234567$feed = array(    'id'         => 5,    'form_id'    => 10,    'is_active'  => true,    'meta'       => array(),    'addon_slug' => 'gravityformsslack',);

Usage

We recommend accessing the $feed properties using the rgar() or rgars() functions e.g.

12$meta = rgar( $feed, 'meta' );$conditional_logic_enabled = rgars( $feed, 'meta/feed_condition_conditional_logic' );

Properties

PropertyTypeDescriptionidintegerThe feed ID.form_idintegerThe form ID this feed was created for. An ID of 0 indicates the feed applies to ALL forms.is_active booleanIs the feed active or inactive. Default is true.feed_orderintegerThe order the feed will be displayed in the feeds list for the form. Also applies to submission time feed processing. Not all add-ons support feed ordering.metaarrayFeed meta is an associative array. The available properties vary from add-on to add-on. Please see the Add-on Articles below for the individual propertiesaddon_slugstringThe slug belonging to the add-on used to create the feed, including the gravityforms prefix. See the Gravity Forms Add-On Slugs article for a list of possible slugs.event_typestringFor future usage.

Add-on Articles

GF Feed Add-Ons

GF Feed Add-Ons

GF Payment Add-Ons

ActiveCampaign Feed MetaAgile CRM Feed MetaAWeber Feed MetaBreeze Feed MetaCampaign Monitor Feed MetaCampfire Feed MetaCapsule CRM Feed MetaCleverReach Feed MetaCoupons Feed MetaDropbox Feed MetaEmma Feed Meta

Freshbooks Feed MetaGetResponse Feed MetaHelp Scout Feed MetaHighrise Feed MetaHipChat Feed MetaiContact Feed MetaMad Mimi Feed MetaMailChimp Feed MetaSlack Feed MetaTrello Feed MetaTwilio Feed MetaUser Registration Feed MetaZapier Feed MetaZoho CRM Feed Meta

Authorize.net Feed MetaPayPal Payments Pro Feed MetaPayPal Standard Feed MetaStripe Feed Meta

Field Map Field

Field Map Field

IntroductionParametersExampleHelpersget_field_map_fields()get_field_value()Uses

Introduction

The field_map type field, part of the Settings API, allows the user to map their form fields to fields you define, e.g. fields you will be sending to a third-party service such as a CRM.

Parameters

name string Required. Name of the field. Use it to retrieve saved data.label string Required. Field label. Will be displayed in the UItype string Required. Field type. Must be set to field_map for the Field Map fieldtooltip string Optional. Defaults to blank (no tooltip). Displays a question mark icon and a tooltip next to the field label.field_map arrayRequired. Array that defines the fields to be mapped.Each item in the field_map array has the following properties:name stringRequired. Name of the field to be mapped. To be used when retrieving the selected value.label stringRequired. Label to be displayed in the UI.required boolOptional. Defaults to false. Possible values are true or false. Marks this field as required, which means it must be mapped to a form field.default_value stringOptional. Defaults to blank (nothing is pre-selected). Allowed values are field IDs. When specified, the form field drop down is pre-selected with the appropriate field.validation_callback (function)Optional. Defaults to nothing (no callback). Calls a function during validation allow for custom validation logic. The example in the existing documentation page is good.

Example

array(
'title' => esc_html__( 'This is the title for Section 1', 'sometextdomain' ),
'fields' => array(
array(
'name' => 'contactStandardFields',
'label' => esc_html__( 'Map Fields', 'sometextdomain' ),
'type' => 'field_map',
'field_map' => $this->standard_fields_for_feed_mapping(),
'tooltip' => '

' . esc_html__( 'Map Fields', 'sometextdomain' ) . '

' . esc_html__( 'Select which Gravity Form fields pair with their respective third-party service fields.', 'sometextdomain' )
),
),
),

Here』s the function being used to define the fields for the field_map property.

public function standard_fields_for_feed_mapping() {
return array(
array(
'name' => 'first_name',
'label' => esc_html__( 'First Name', 'sometextdomain' ),
'required' => true,
'field_type' => array( 'name', 'text', 'hidden' ),
'default_value' => $this->get_first_field_by_type( 'name', 3 ),
),
array(
'name' => 'last_name',
'label' => esc_html__( 'Last Name', 'sometextdomain' ),
'required' => true,
'field_type' => array( 'name', 'text', 'hidden' ),
'default_value' => $this->get_first_field_by_type( 'name', 6 ),
),
array(
'name' => 'email_address',
'label' => esc_html__( 'Email Address', 'sometextdomain' ),
'required' => true,
'field_type' => array( 'email', 'hidden' ),
'default_value' => $this->get_first_field_by_type( 'email' ),
),
);
}

The above code would render the following:

Helpers

The following functions may come in helpful when interacting with the field_map field type during feed processing.

get_field_map_fields()

Retrieves the individual field_map fields from the meta property of the Feed Object for the supplied field name.

$contact_standard_fields = $this->get_field_map_fields( $feed, 'contactStandardFields' );

$feed Feed Object
The Entry Object to be checked.

$name string
The name property of the field_map field to retrieve the mapped fields for.

Returns array
An array containing the field names as the keys to the mapped form field ID or entry meta key.

get_field_value()

Retrieves the specified form field or entry meta value. See Accessing Mapped Field Values During Feed Processing for more details.

$first_name = $this->get_field_value( $form, $entry, $contact_standard_fields['first_name'] );

Uses

settings_field_map()field_map_table_header()field_map_title()get_mapped_field_name()settings_field_map_select()get_field_map_choices()

Field Select Field

Field Select Field

IntroductionExampleUses

Introduction
The field_select type field, part of the Settings API, allows the user to select a form field from a drop down.
Example
The following example shows a section with a field_select type field which has been limited to only include email type form fields.
array(
'title' => esc_html__( 'This is the title for Section 1', 'sometextdomain' ),
'fields' => array(
array(
'name' => 'email',
'label' => esc_html__( 'Email Field', 'sometextdomain' ),
'type' => 'field_select',
'required' => true,
'tooltip' => '

' . esc_html__( 'Email Field', 'sometextdomain' ) . '

' . esc_html__( 'Select which Gravity Form field will be used as the subscriber email.', 'sometextdomain' ),
'args' => array(
'input_types' => array( 'email' )
)
),
),
),

The code above will render a drop down similar to the following:

Uses

settings_field_select()
get_form_fields_as_choices()
settings_select()

Accessibility Warning Showing on Field

Accessibility Warning Showing on Field

SummaryDescriptionAdvice Regarding Specific FieldsMultiselectGoogle reCAPTCHA V2DatepickerSubmit/Next Page ButtonIntroduced InFurther InformationExample Screenshots

Summary

This article provides information regarding accessibility warning messages you may receive for a particular field on your form. The message is presented in the Field Settings pane of the Form Editor. See screenshots at bottom for some examples.

Description

To ensure your form can be completed by all your visitors. it is important to try and limit your form to using fields that work for everyone. People who use assistive technology for example, may find some form fields have hard to navigate, or some fields are hard to understand when read back by a screen reader or voice recognition software.

If your forms must comply with accessibility guidelines like WCAG, section 508 or the ADA, then please be aware that some form fields with accessibility issues can』t be used. From Gravity Forms 2.5 onwards we present a warning message for the most common of those, and have listed some alternatives here.

Advice Regarding Specific Fields

Multiselect

The Multiselect field is difficult for people using assistive technology like a screen reader or voice recognition software, as they are not able to properly select multiple options. The better choice is using checkboxes.

A warning will be displayed in the Form Editor when Field Label Visibility is marked as hidden.

Google reCAPTCHA V2

The Google Support website has a page is dedicated to the accessibility of reCAPTCHA V2 through the use of an audio challenge. The can present other challenges for your visitors though.

Firstly, this is not an option for deafblind users. Secondly, reCAPTCHA only offers an English audio challenge and expects an English answer to it, which makes it harder for non-native English speakers to understand the challenge or increases the likelihood of typing the answer with a spelling mistake.

There is also a cognitive and cultural accessibility issue. Not everyone understands the visual challenges.If you have a form that is vital for your visitor to fill out, don』t put the burden of proving they are human on them.

An alternative could be to use a third-party reCAPTCHA V3 add-on. If you choose V3, also consider the privacy impact for your users and whether you need to comply with your GDPR policy as well.

Support for reCAPTCHA V3 will be added in a future update of Gravity Forms.

Datepicker

The date field provides the option of displaying a datepicker, but note this datepicker is not keyboard or screen reader accessible at the moment. Therefore we provide an accessible alternative of having the date input fields be text only.

Hints on what the exact date format your field expects is given by placeholders and by additional text, connected to the input field with aria-describedby. Then the date format is announced and visible.

For more info, this external article has a good discussion of accessible datepickers.

Submit/Next Page Button

The presentation of the submit (and next page) buttons can be controlled by conditional logic. The best accessibility choice is to use a visibly disabled button. This is a well known form pattern, people know what it means.

Completely hiding the submit button can have a negative impact on the accessibility of a form for a few reasons, mostly cognitive:

Visitors do not see the submit button at first. This is unexpected behavior, which can discourage visitors that are not that web savvy, and increase anxiety around the task of trying to complete the form.You send the visitor on a quest: what do I need to fill out to get this form submitted?Blind visitors do not get informed when the button later (conditionally) appears and the form can be submitted.For accessibility it』s always best to stick to form conventions and give the visitor all the information they need.

Introduced In

These warning messages were added in Gravity Forms 2.5. The warning messages contain a link to this article.

Further Information

Refer to the Accessibility area of our documentation site for more helpful advice on improving your form』s accessibility.

Example Screenshots

These images show a few examples of the type of warning you may see.

Field Merge Tags

Field Merge Tags

SummaryUsageParametersExampleModifiersAdditional Information

Summary

Displays the value submitted for the field with the specified field_id. If no value was submitted, the merge tag will not display anything. Adding optional modifiers are also available to display other data related to the field.

Usage

{[descriptor]:[field_id]}

{:[field_id]}

{[descriptor]:[field_id]:[modifier]}

Parameters

ParameterDescription[descriptor]Optional. A user defined value for readability. By default when using the merge tags widget, this will be the field name. Since this is optional, {:[field_id]} will work also.[field_id]Required. This is the value of the field_id, which may be a single number for the field, or a multi-part number for multi-part fields that have more than one field within them, such as the Name field. See Example below.[modifier]Optional. A list of possible modifiers are listed below. Some modifiers may be combined by comma-separating them. See :admin modifier below for example.

Example

{text:4} will select field ID 4. {name:5.3} will target the 3rd part of the field ID 5, such as the first name within a name field. If in doubt as to how to determine your field ID, use the merge tag dropdown widget to select the field by name and the proper ID will be inserted for you.

Modifiers

ModifierDescription:labelDisplays the field label. Can be used with the :admin label. {phone:1:label} or {phone:1:admin,label}:adminOutputs the field admin label when combined with the label modifier. Since Gravity Forms 2.4.18.7.{phone:1:admin,label} or {phone:1:label,admin}:urlApplies only to fields of type List. Displays the list field content in a format that is URL friendly.i.e. col1_row1|col2_row1,col1_row2|col2_row2{List:5:url}:valueApplies only to fields of type Drop Down, Checkbox and Radio Button. Displays the selected item』s value. Applicable if the field was configured with 『enable values』.{Field:5:value}:idApplies only to the fields of type Category.Displays the selected category』s id rather than label.{Category:5:id}:priceApplies only to Pricing fields of type Drop Down and Radio Button, and the Total field. Displays the selected product』s price in numeric format (i.e. 500).{Product:5:price}:currencyApplies only to Pricing fields of type Drop Down and Radio Button, and the Total field.Displays the selected product』s price in currency format (i.e. $500.00).{Product:5:currency}:qtyApplies only to drop down and radio button pricing fields.Displays the selected product』s quantity.:numericConverts the number string or currency value as a decimal-formatted number.{Field:5:numeric}

Additional Information

Refer to individual field type user guides for field specific information on merge tags or modifiers.