Reasons for the “You are not allowed to view this content.” message
GravityView has many levels of security in place to make sure that your content is visible only when you want it to be. If you see the notification “You are not allowed to view this content.”, there are multiple reasons why this might happen.
Start by checking the logs #
To determine why you cannot access a View or entry, enable logging and reload the page. You should see a line in the log with a message similar to “Entry ID #{entry_id} is not active” because the content is not accessible.
Possible causes and fixes #
“Prevent Direct Access” is enabled
The Prevent Direct Access View setting blocks visiting a View at its own URL; the View only displays on the post or page where it is embedded. If the URL contains “/view/”, you are accessing the View directly, and this is the likely cause.
- Edit the View.
- Scroll down to View Settings.
- If checked, uncheck the Prevent Direct Access setting and save the View.
If the setting is already unchecked, check whether custom code on your site hooks gravityview/view/output/direct, or its older name gravityview_direct_access. Either one can block a View that has the setting turned off. If neither is in use, direct access is not the reason you see the error.
The entry is in the trash
The entry you are trying to open has been put in the trash in Gravity Forms. Go to Forms, then Entries, select the Trash filter, and restore the entry.
The custom entry slug doesn’t match
Custom entry URL slugs are enabled on your site, and the “slug” in the URL doesn’t match the entry’s details. Open the entry again from the View’s entry list so the link is built with the current slug, and update any saved or bookmarked links.
The entry is not approved
The View is configured to show only approved entries, and the current entry is not approved. Approve the entry from the entry approval column on the Gravity Forms Entries screen, or disable the Show only approved entries setting in the View.
Search or filter settings exclude the entry
The current search parameters, or the View’s Advanced Filter conditions, prevent the entry from being displayed. Clear the search and review the View’s filtering settings.
The REST API is not enabled
You are attempting to access the View over the REST API, and the REST API is not enabled (or is disabled specifically) for the View. Enable the REST API in the View’s settings.
The View is privately published
The View’s visibility is set to Private, and you don’t have access to reading it. Log in with an account that has permission to read private content, or change the View’s publish visibility.
The shortcode is inside an Avada “Code” field
If you are running the Avada theme and the [gravityview] shortcode is inside a “Code” field, the View will not display. Place the shortcode in a Text field instead.
The entry status is stored with non-standard capitalization
The entry appears normally in the Multiple Entries list, the Gravity Forms admin, and exports, but opening or editing a single entry shows the message for everyone, including administrators. This happens when the entry’s status is saved with different capitalization (for example Active instead of the standard lowercase active), which can happen when entries are imported. Lists keep working because the database compares status text case-insensitively, but GravityView 3.0.2 and earlier compared it strictly in the single-entry access check. The same capitalization issue can affect an entry’s approval status (for example Approved instead of approved).
To fix: update GravityView to version 3.1.0 or newer, which compares entry status and approval values case-insensitively, so the error will not recur from capitalization alone. If you are on an older version, or you want to clean up the stored data (still recommended), normalize the status back to lowercase with the snippet below: run it once against the affected form (for example with wp eval-file), then remove it.
<?php
// Reset every "active" entry on the form to the standard lowercase status.
$form_id = 123; // Replace with your form ID.
$entries = GFAPI::get_entries( $form_id, array( 'status' => 'active' ) );
foreach ( $entries as $entry ) {
GFAPI::update_entry_property( $entry['id'], 'status', 'active' );
}