Overview
One of the biggest issues with the regular Divi Contact Form module is that emails are not saved in the database. This is an essential need for any form plugin, but it is missing in Divi. Without this, you may totally miss important entries from clients and customers, and miss out on important details from their form submission.
The Divi Contact Form Helper plugin by Pee-Aye Creative enables you to save the contact form submissions to the database of the website. Now you can have peace of mind and enjoy the benefits of viewing, sorting, exporting, replying to, backing up, converting to posts, and much more.
Please note, this feature is not included with Divi and is impossible without our plugin, so we hope you enjoy this exciting feature! This guide will show you how to enable and use the features and settings related to saving form entries to the database.
Required Settings
In order to save entries to the database, there are some very simple requirements to set up to enable the feature. These should already be in place by default, but it is important to review them to be sure the requirements are met.
IMPORTANT: Each of these three points are required for saving form entries to the database.
1. Have An Updated Version Of Divi
Due to some changes made by Elegant Themes, you must have at least version 4.13.1 of Divi installed to save entries to the database. This should be no issue, because we sure hope you do not make a habit of using outdated software! If you are using a version of Divi below 4.13.1, this feature will not work, so please upgrade Divi to a newer version.
2. Confirm The “Save Entries To Database” Option Is Enabled In Entry Preferences
This setting should be enabled by default, but it’s good to check to be sure and to get familiar with where the settings are located. This setting is located in the Entry Preferences toggle in the Divi Contact Form module. When enabled, the details from any contact form submission will be saved in your website database.
The location is exactly the same in Divi 4 and Divi 5, and screenshots are shown below for reference.
3. Add The Contact Form Unique ID
In order for entries to be saved in the database, you MUST have a unique ID in each contact form. This is an essential step that tells the database which contact form is submitting the data.
Add Unique ID In The Admin Label Toggle Divi 4
In Divi 4, the unique ID field is located in the Admin Label toggle in the Divi Contact Form module settings. This field must be populated with a properly formatted ID in order to save entries to the database.
If this field is empty, you can try this trick: open the Divi Visual Builder, open the Contact Form module settings, then save, exit the builder, and open it again. This will trigger the unique ID migration to run, and the unique ID will be added. You can also generate a new unique ID with this online generator. The ID must consist of letters, numbers, and dashes only. Any letters will be displayed as small case.
Important: Do not use any spaces or special characters like !@#$%^&*() because they will not work! The ID must consist of letters, numbers, and dashes only.
Add Unique ID In The Contact Form Identifier Toggle Divi 5
In Divi 5, we added the contact form ID field inside a new Contact Form Identifier toggle in the Divi Contact Form module settings.
Identifying Your Form In The Database
When entries are saved using the Saving Entries To The Database feature in our Divi Contact Form Helper plugin, each Contact Form module must have a way to be identified.
This identifier is what you see in the Forms List, Entries List, exports, backups, and merge tags. If you are using multiple forms across your site, this is especially important so you can clearly distinguish one form from another.
Divi itself does not assign a database identity to forms, so our plugin determines the form name using a simple priority system.
How The Form Name Is Determined
When a form is submitted or rendered, the plugin checks the following fields in order:
- Admin Label (Divi 4) or Meta (Divi 5)
- Title field
- Contact Form Unique ID
Whichever field is found first will be used as the form name in the database.
1st Priority — Admin Label or Element Label
The Admin Label/Element Label takes the highest priority over the Title and Unique ID as the form identifier in the backend entries area.
In Divi 4, this field is called Admin Label and is located in the Admin Label group at the bottom of the module settings.
In Divi 5, this corresponding field is called Element Label, and the group has also been renamed to Meta .
If this field is filled in, it takes highest priority and will be used as the form name everywhere in the plugin.
This is the recommended way to name and organize your forms.
2nd Priority — Title Field
The form Title field takes higher priority over the Unique ID as the form identifier, and lower priority below Admin Label/Element Label as the form identifier in the backend entries area.
If the Admin Label or Meta field is empty, the plugin will use the form’s Title field instead.
This is the visible headline that appears above the form on the front end.
If no Admin Label/Element Label is set, this Title will become the form’s identifier in the database.
3rd Priority — Contact Form Unique ID
The Unique ID is always required to save entries to the database. However, it can also assume the role of the fallback form identifier in the backend entries area if the Title and Admin Label fields are empty.
This field is automatically generated by our plugin and is located in the Admin Label group in Divi 4 and in the Contact Form Identifier group in Divi 5.
The Unique ID ensures the form can always be identified, even if no labels were manually added.
Database & Entries FAQs
Why Are The Entry Numbers Not Sequential?
If you notice that the entries saved to the database are not sequential, don’t worry! Nothing is wrong or missing, it is normal and how WordPress works. You would notice the same thing if you checked your Media Library files, pages, posts, etc. This is because the entry number is essentially a post ID, just like other types of media, such as posts and pages. This ID is based on rows in your website database, so it is cumulative sitewide, and this is why the numbers for one specific type of post, such as entries, will usually not be sequential. So, for example, if you have a contact form entry #1234, but then you create a new blog post (ID #1235), then upload 3 new images (IDs #1236, #1237, #1238), then the following form entry number would be #1239.
What table is used for storing entries in the database?
Form submissions are saved as a custom post type called pwh_dcfh, which is stored in the standard WordPress wp_posts table. The raw form data is stored in the post_content column, while the processed labels and values are stored in the post_excerpt column in a serialized format. Additional information is stored in postmeta as needed.
This storage method leverages WordPress’s core database structure, meaning entries are secure within your database and only accessible to users with proper server or database access.
Are form submissions saved in the database encrypted?
Form submissions are not encrypted in the database. The data is stored as part of a custom post type (pwh_dcfh) in the standard WordPress wp_posts table. The raw form data is saved in the post_content field, and the processed labels and values are stored in the post_excerpt field in a serialized format.
While serialization makes the data less readable without being processed, it is not a form of encryption. Security comes from WordPress itself and your hosting environment: the database is not publicly accessible, and only someone with proper database or server access could view the raw data. For added protection, we recommend keeping your WordPress site, plugins, and hosting environment secure, and ensuring your server and database access are properly restricted.
What Happens To Entries If A Contact Form Module Is Deleted?
Deleting a Contact Form module or deleting the page it was placed on does not delete the saved entries.
All form data remains stored in the database until you manually delete it from the Forms List.
If the original page is deleted, the “View Form” button will no longer appear in the Forms List, since the page no longer exists. However, you can still:
- View Entries
- Export Entries
- Delete the form data manually
Does Deleting A Form Change Its Name In The Database?
No. Deleting a module or page does not cause the form identifier to change.
If a form appears with a Unique ID instead of a readable name, it means the Admin Label/Element Label and Title fields were never set.
The plugin always follows the same priority logic. If no label or title exists, the Unique ID will be used.
If A Page Is Moved To Draft, Does The Form Lose Its Title?
No.
When the form is rendered, the plugin determines and stores the identifier at that time. If the page is later moved to draft, the previously saved form name remains unchanged in the database.
Only deleting the page removes the ability to use the “View Form” link.
Are There Any Restrictions On Special Characters In Form Titles?
You can use normal characters in the Admin Label or Title field without issue.
However, if you manually edit the Contact Form Unique ID, it should only contain letters, numbers, underscores, and hyphens.
Avoid using special characters in the Unique ID field to ensure proper functionality.
Why Is The “View Form” Link Missing In The Forms List?
The “View Form” button will not appear if the page or module where the form was originally placed has been deleted.
The form entries still exist and can be viewed or exported, but the original page is no longer available to load.
Why Do Some Forms Have Readable Names And Others Show A Unique ID?
Forms only display a readable name if either the Admin Label/Element Label or the Title field was filled in.
If neither field was set before the form was used or deleted, the plugin will display the automatically generated Unique ID instead.
To keep your Forms List organized, it is recommended to always set an Admin Label/Element Label for every Contact Form module.







