Gravity Forms Submit to Access - WordPress Plugin
The Gravitywiz Gravity Forms Submit to Access is a plugin designed for WordPress that allows content to be withheld until a Gravity Form is submitted. This solution is ideal for those seeking to ensure that information, resources, or features are gated behind a simple form submission, effectively facilitating targeted content access control.

Plugin Features
At its core, the development embodies seamless integration with the Gravity Forms ecosystem, capitalizing on the robust features and flexibility that Gravity Forms offers. By automating content restriction until form submission, it introduces a level of engagement and user interaction, requiring visitor participation for content unveiling. The setup process is intuitive, integrating seamlessly into existing workflows without necessitating extensive development effort. Once the system is in place, it will indiscriminately apply the access rules, ensuring that users conform to the preset submission requirements.
Delving into the functionality, it cleverly leverages conditional logic to manage content accessibility based on form completion status. Users can define specific areas of the website that should remain inaccessible until a form is successfully submitted, thereby enhancing site security and elevating user experience. The controls are straightforward, giving site administrators the power to dictate access on a granular level. In addition, it maintains a high degree of compatibility with other plugins and themes, ensuring that implementing it doesnt disrupt existing site architecture.
A particularly beneficial feature is its ability to process two main components simultaneously: form validation and gatekeeping. On the end-user side, it offers a clear and guided process for submission, which is followed by immediate access to the desired content. This dual functionality engenders a transparent user interface devoid of unnecessary complexities. Site administrators can tailor the forms and rules according to their precise content strategy, strategically driving engagement and gathering authentic user-submitted data for further analysis.
Moreover, the efficiency in optimizing access conditions does not come at the cost of site performance. It is optimized for speed, ensuring that the implemented access controls execute seamlessly without overextending latency or server load. This ensures that site resource management remains consistent while providing an enhanced user experience. In concert with its asynchronous loading, users experience no page load delays, which is critical for maintaining low bounce rate metrics.
To sum up, Gravitywiz Gravity Forms Submit to Access offers a sophisticated yet user-friendly framework for achieving content accessibility objectives. By requiring users to engage with content proactively, it transforms user data acquisition into a streamlined and effective process. Ultimately, these capabilities make it a dynamic tool for site owners who seek to implement strategic content segregation in a WordPress environment, enriching both the administrative control and user interaction facets of their digital content strategy. Whether for educational resources, premium media collections, or proprietary materials, these features can be leveraged to align with diverse content strategies while maintaining a professional and unobtrusive web presence.
Specifications:
| Release date: | 20-01-2017 | |
| Last updated: | 08-05-2026 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | Access & Security | |
| Compatibility: | W5.x W6.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | Gravitywiz | |
| Rating: | ||
Share with your friends!
A Practical Guide to Setting Up Gravity Forms Submit to Access for Gated Content
Gravity Forms Submit to Access is useful when a visitor needs to submit a form before they can view a page, block, file, video, webinar recording, or any other gated resource. In this guide, we are not covering the plugin as marketing copy. Instead, we will focus on how it actually works: which forms unlock access, where to enable restrictions, how to choose an access duration, what to do with redirects, and how to verify that visitors are seeing the correct result.
This guide is written for site owners, marketers, editors, and WordPress developers who already use Gravity Forms or plan to build an access funnel around it. We will walk through the full process, from preparing the site to setting up a practical lead magnet scenario, and then break down common issues, limitations, comparable solutions, and safe configuration choices for a real production project.
The main idea is simple: this plugin does not replace a full membership system, user dashboard, or advanced permission model. It solves a different use case - access after form submission without requiring account creation. That is exactly why it is important to decide upfront where this model makes sense and where you would be better off using a membership plugin, server-level file protection, or payment handled through a dedicated access system.
How access works after form submission
At its core, the plugin connects three elements: the protected content, a required Gravity Forms form, and the visitor's access state. Until the form is submitted, the plugin can display a message with the form, redirect the user to a separate page containing the form, or hide a specific block. Once the form is submitted successfully, that submission becomes proof that the user completed the required action.
For the site owner, this is convenient because there is no need to manually create users, assign roles, send passwords, or build a user dashboard. A visitor leaves their email, answers a question, registers for an event, completes a survey, or pays for access through a form - and then gets the resource they came for. For simple funnels, that is much faster than building a full membership system.
What exactly can be gated
According to the Gravity Wiz documentation, Submit to Access can work with full pages and posts, individual blocks in the block editor, the [gpsa] shortcode, and custom logic through filters. That creates several distinct use cases, and it is better not to mix them all into a single setup.
- Full page protection works well for webinars, private guides, event resource pages, or internal reports.
- Single block protection makes sense when part of an article stays public, while a checklist, video, or table becomes available only after form submission.
- The shortcode is useful in Elementor, Beaver Builder, theme templates, and any place where it is easier to insert the restriction into text or an HTML block.
- Filters are intended for developers who need to tie access to a user role, profile, or a custom validation rule.
Before installing anything, it helps to decide which approach is your primary one. If you just want to protect a single page with a PDF, there is no reason to start with a complex setup involving multiple forms. But if the site will include a series of lessons, multiple resources, and repeat visits, then it is worth planning ahead for access duration, unique submission rules for each page, and the effect of caching.
What happens after submission
After the required form is submitted, the plugin records access. In its default behavior, this is tied to a cookie in the visitor's browser, though developers can change the storage method for logged-in users through a filter. That limitation matters: if someone clears cookies, switches browsers, or opens the site on another device, their previous access may no longer be recognized unless the project is configured to store access in the user's profile.
Practical test: check access in a regular browser window, in a private window, and again after clearing cookies. That will show right away whether the chosen access duration actually fits your use case.
Who this content gating method is a good fit for
Gravity Forms Submit to Access works best for sites where the user's action matters more than having an account. For example, a visitor may need to submit contact details before downloading a research report, register for a live stream, confirm interest in a resource, complete a short survey, or pay for one-time access through a form. In all of these cases, the form is already the central interaction point, and access to the content is simply the outcome of that submission.
Strong use cases for the plugin
The best use cases are built around a clear exchange: the user provides information or completes an action, and the site unlocks a specific result. That exchange should feel honest and transparent. Do not hide essential information without explanation, or the form will feel like a barrier instead of a fair trade.
- Lead magnet: an ebook, checklist, template, gated recording, or research report becomes available after a form asking for name and email.
- Webinar or live stream: a registration or access form unlocks the page with the stream, recording, or attendee links.
- One-time paywall: a Gravity Forms payment form unlocks a video, lesson, file, or limited resource without requiring a user account.
- Survey before the content: the user answers a few questions first, then sees a result, recommendation, or the next part of a lesson.
- Multi-step content: one block or lesson unlocks after a form, while the next step may require separate confirmation.
When a different approach is better
This plugin should not be your only protection layer for materials that need to be secured at the file system level, through server rules, or behind strict authentication. If you sell long-term subscriptions, provide access to a large content library, manage member roles, or need to display payment history in a user dashboard, a membership solution is usually the better fit.
It is also important not to confuse hiding a link with truly protecting a file. If a PDF lives in the public WordPress media library and its direct URL is known, the form may hide the link in the interface without actually making the file private. For valuable resources, use private storage, expiring links, protected downloads, or a separate file delivery mechanism.
What to check before installing it on WordPress
Before enabling the plugin, do not stop at confirming that Gravity Forms is installed. Submit to Access sits at the intersection of the form itself, the page editor, caching, cookies, your theme, and post-submission behavior. If any one of those layers is set up poorly, the user may see the form again, remain stuck on a confirmation message, or get access to the content at the wrong moment.
Minimum technical preparation
What should be ready before the first test
- Make sure Gravity Forms is installed and working, and that the required form successfully creates entries in the WordPress admin area.
- Check how the form submits: whether it uses AJAX or not, which confirmation type it uses, and whether there are any JavaScript errors in the browser console.
- Make sure the page with gated content is not set as a private WordPress page if it is meant to be visible to non-logged-in visitors.
- Disable aggressive optimization for the test page, or add cache exclusions if you notice strange behavior after submission.
- Prepare the pre-access message in advance so visitors clearly understand what they will get after completing the form.
Cache, cookies, and cookie consent
Because access for a regular visitor is usually determined through a cookie, caching can easily become the main source of confusion. A page that contains both the form and gated content should not be cached as if it were identical for every visitor. If the cache serves an outdated version of the page, one user may see the form again after submitting it, while another may get the wrong version of the interface.
If the site uses a cookie consent banner, check whether it blocks the plugin's cookie until consent is accepted. The Gravity Wiz documentation explicitly mentions the gpsa_submitted_forms cookie for troubleshooting. If your cookie manager prevents that cookie from being set, access may not persist across page loads.
Safe setup approach: first configure the scenario on a test page with caching disabled, confirm that the form unlocks the content, and only then re-enable optimization. That makes it much easier to tell whether the problem comes from the plugin, the form, or the caching layer.
Installation and initial activation through Spellbook
Gravity Wiz now manages its products through Spellbook. According to the Gravity Perks documentation, Spellbook handles installation, licensing, updates, and access to available Perks inside the WordPress admin area. So after installing the platform plugin, do not look for Submit to Access as a separate WordPress menu item. Instead, look for it inside the Spellbook interface and in the content editor settings.
General installation flow
- Make sure Gravity Forms is active and that the access form has already been created.
- Install and activate Spellbook using the Gravity Wiz instructions if the site is not already using it.
- Open the
Spellbooksection and locate theGP Submit to Accessperk. - Activate the product and wait until it appears among your active plugins or Spellbook products.
- Open the page or post you plan to protect and confirm that Submit to Access settings are available in the editor.
After activation, do not jump straight into your live page. Create a test post, add a simple text block, and then add a separate block containing the gated resource. That way, you can check exactly what gets hidden, where the form appears, and how the page behaves after submission.
Initial validation after activation
During the first test, you need to confirm three things: the form displays correctly, a Gravity Forms entry is created, and the gated content appears after submission. If any one of those fails, do not complicate the setup with redirects, multiple forms, or payment logic. First get the simplest version working reliably.
Configuring the form, message, and access duration
The most important part of setup is not the enable toggle. It is the set of decisions around which form acts as the key, what the user sees before access is granted, how long access should last, and whether each page should require its own submission. Those settings affect not just the interface, but the logic of the entire funnel.
Required Forms: which form unlocks the content
The Required Forms setting determines which form submissions grant access to a specific page, block, or shortcode. If you select multiple forms, the visitor only needs to submit one of them. That can be useful when the same content may be unlocked through different entry points: a short interest form, a payment form, or an event registration form.
For a typical site, it is better to start with a single form. Add multiple forms only when they truly lead to the same access outcome. If one form collects email addresses and another processes payment, combining them without a clear plan may allow users to unlock content more easily than you intended.
Require Unique Submission: a shared key or a separate key for each page
The Require Unique Submission setting controls whether submitting a form on one page also unlocks other pages that use the same required form. When the setting is off, a user can submit the form once and gain access to other resources protected by that same form. When it is on, each page requires its own submission.
For a library of multiple free resources, a shared key is often more convenient: the user submits their email once and can then open several assets. For separate reports, distinct campaigns, or content where you need to measure interest page by page, unique submission is the better choice. The documentation also notes that this mode does not work with Redirect behavior because the form lives on a separate page.
Requires Access Behavior: what the user sees before access
The Show Message option displays a message and the form in place of the gated content. This is the best starting point for a lead magnet or simple gated content setup: the visitor stays on the page, sees the offer, and can submit the form immediately. If you need the form to appear at a specific spot inside the message, use the {form} merge tag. Without it, the form is added to the message automatically.
The Redirect option is better for a full page when the form needs to live on a separate page, for example because the form is long, includes legal text, processes payment, or belongs on a dedicated registration page. After submission, you can configure a Gravity Forms Redirect confirmation and use {gpsa_gated_url} to send the visitor back to the gated resource.
The Hide Block option is useful for blocks that should not leave empty space or display the form. For example, a page may contain multiple gated fragments, but you may not want to show the same form underneath each one.
Access Duration: how long access lasts
Choose the access period based on what you are promising the user. Browser Session works for temporary viewing when the resource should no longer stay open after the browser is closed. Forever is a good fit for a simple lead magnet, though it is still important to remember that clearing cookies may reset access. Custom is the right choice for time-limited offers, webinars, recordings, training resources, and one-off campaigns.
| Scenario | Recommended duration | What to verify |
|---|---|---|
| Downloading a checklist after submitting a form |
Forever or a long Custom period |
Returning in the same browser should not trigger the form again. |
| Webinar recording available for a limited time | Custom |
Once the period expires, the form should gate the resource again. |
| One-time access check for a private block | Browser Session |
A new browser session should require the form again. |
| Paid content without an account |
Custom or Forever, depending on the sales model |
The user should understand that access is tied to the browser unless profile-based storage is used. |
There is one important nuance: changing the access duration does not always affect previously granted access retroactively. If you initially gave users long-term access and later switched the setting to browser-session access, existing visitors may keep their original duration until it expires. If you need a sharp change in access policy, test that behavior separately and do not promise immediate revocation unless your storage method actually guarantees it.
When it is better to roll the setting back
If users start seeing the form more often than expected after you change the access duration, restore the previous value and test again in a clean browser. That rollback is safer than trying to patch the problem with extra code, because access duration shapes user expectations, not just the underlying cookie behavior.
Full page, single block, or shortcode: how to choose the right mode
One of the strengths of Submit to Access is that it lets you choose the level of restriction. But that is also where mistakes happen most easily: locking down an entire page when only one block needed protection, or using a shortcode in a place where a native block setting would have been more reliable and easier for editors to manage.
Full page protection for standalone gated resources
Protect the entire page if none of the material should be visible before form submission. This is common for webinar pages, gated recordings, attendee resource pages, internal reports, or paid lessons. In this mode, visitors without access immediately see the form, a message, or a redirect to a separate form page.
From an SEO perspective, use this carefully. If the whole page is gated, search engines may only see the access message rather than the main content. For resources where indexing matters, it is often better to keep the introduction public and gate only the specific block containing the file, video, or extended content.
Block-level protection for articles and lead magnets
Block-level protection works especially well in the WordPress editor when you want part of the content to stay public before the form appears. For example, the article can explain the problem in full, while a downloadable checklist unlocks only after submission. That feels fairer to readers and works better for marketing because visitors can see the value before they fill anything out.
If a page contains multiple gated blocks that all use the same form, keep in mind a Gravity Forms limitation: the same form cannot be properly rendered multiple times on one page. The Submit to Access documentation notes that in this case, the form appears in the first block, while the other blocks with the same message may remain without a form. For pages like this, use one shared form block or switch additional fragments to Hide Block.
Shortcode support for Elementor, Beaver Builder, and templates
The [gpsa] shortcode brings the access logic into places where block-level settings are unavailable or awkward to use. It supports required form IDs, the pre-access message, fallback behavior, access duration type, access duration value and unit, and a loading message. That makes it useful for page builders, templates, and embedded content, though it does require more care.
[gpsa required_form_ids="12" requires_access_message="Complete the form to unlock this resource: {form}" fallback_behavior="show_message" access_duration_type="custom" access_duration_value="14" access_duration_unit="days" content_loading_message="Unlocking the content..."]
This gated block can contain a file link, video, table, or extended instructions.
[/gpsa]
In this example, the form ID is just a placeholder. Before publishing, replace 12 with the real form ID. Also avoid inserting identical shortcodes with identical content multiple times on the same page: the documentation notes a limitation where identical shortcode content may not refresh correctly after submission.
Practical example: a lead magnet with PDF access after form submission
Let us look at a typical setup: the site has a detailed article, and somewhere in the middle or near the end you want to offer a PDF checklist. The visitor enters their name and email, and then sees a download button or an embedded file block. This is one of the clearest ways to use the plugin because the value of the resource and the user's action line up naturally.
Goal of the scenario
The goal is a simple funnel: the public article explains the problem, the form captures the contact, Submit to Access unlocks the gated block, and Gravity Forms stores the entry and sends a notification. The user does not need to create an account or go through a long registration flow.
Preparing the form
Create a Gravity Forms form with Name and Email fields. If the site gets a lot of spam, enable whatever form protection is already available and trusted on your site: the built-in honeypot, CAPTCHA, or another confirmed anti-spam method. Do not overload a lead magnet with a long questionnaire. The more fields you add, the higher the chance the visitor never reaches the resource.
In Gravity Forms notifications, set up an admin email or a CRM integration if the site already uses one. Submit to Access should not interfere with the form's normal feeds: based on a Gravity Wiz response in the comments on their own material, the plugin is not supposed to break the form's feeds, but every integration should still be tested on the actual site.
Configuring the gated block
- Open the article page in the block editor.
- Add the block that should be gated: a download button, text with a link, an HTML block, or a grouped instruction block.
- Turn on
Enable Submit to Accessin the block settings. - Select your lead magnet form under
Required Forms. - Choose
Show MessageunderRequires Access Behavior. - Write a message explaining what the user gets after submission, and place
{form}exactly where the form should appear. - Choose an
Access Durationthat matches the promise, for example long-term access for repeat downloads. - Save the page and open it in a private browser window.
Verifying the result
Before form submission, the public article text should remain visible while the gated block is replaced by the message and the form. After submission, Gravity Forms should create an entry and the gated block should become visible. Then refresh the page: if the access duration is not session-based and the cookie remains in place, the block should still be available.
What counts as a successful test
A successful test is not just seeing the gated PDF block appear. Also confirm that the entry is saved in Gravity Forms, the notification reaches the intended recipient, reloading the page behaves according to the selected duration, and the public part of the article remains available without the form.
Important nuance: if after submission you only see the standard Gravity Forms confirmation and the gated block appears only after a manual refresh, check AJAX submission, the browser console, page caching, and the plugin changelog. In past releases, Gravity Wiz specifically fixed behavior related to content display after non-AJAX submissions.
Redirecting to a separate form and returning to the gated page
An inline form is not always the best fit. Sometimes the form is long, includes payment, requires legal consent, collects extra information, or needs its own design. In those cases, Redirect is a better option: the visitor opens the gated page, the plugin sends them to a separate form page, and after a successful Gravity Forms submission, they are sent back.
When redirect works better than an inline message
A redirect makes sense when the form belongs on its own page rather than inside the gated content itself. This is common for paid resources, webinars, events, consultations, and corporate materials where you need to show terms, offer participation options, or process payment through a Gravity Forms payment feed before granting access.
The advantage of this approach is a cleaner structure: the content page stays focused on the content, while the form page handles data collection only. The downside is that there are more possible failure points: you need the correct form URL, a properly configured confirmation redirect, and a reliable way for the cookie or user profile to record access after submission.
How to return users with {gpsa_gated_url}
- Enable Submit to Access on the gated page and select the required form.
- Choose
RedirectunderRequires Access Behavior. - Enter the page URL where the access form is placed.
- Open the form in Gravity Forms and go to
Settings-Confirmations. - Select the
Redirectconfirmation type. - Paste
{gpsa_gated_url}into theRedirect URLfield. - Save the form and test the full flow from a private window.
If the user does not return to the resource after submitting the form, confirm that the confirmation type is really set to Redirect, that there are no competing conditional confirmations, and that no payment add-on is intercepting the form. For payment forms, test only in the payment gateway's safe test mode, and do not promise access until you have confirmed that the form counts as successfully submitted only when the intended payment result is reached.
Practical ideas for using it on real websites
Submit to Access is useful for much more than a basic "enter your email to download the PDF" flow. Its real strength is the ability to connect a specific form to a specific piece of content quickly. Here are several scenarios where that logic works especially well.
A resource library without a user dashboard
If the site offers several free templates, checklists, and recordings, you can use one form for a shared resource library. With Require Unique Submission turned off, a single submission can unlock multiple resources that depend on the same form. This is convenient for marketing, but make sure you are not hiding very different resources behind the same vague form.
A lesson series with separate interest tracking
For educational content, you may want to gate not the whole lesson but extra practical materials such as a file, video, example pack, or table. If you need to measure interest in each lesson separately, turn on unique submission for those pages or use different forms. Then Gravity Forms entries can help you see which materials are actually in demand.
A webinar with registration and a live-stream page
The webinar use case is described well in an independent hands-on walkthrough by Gravity Ranger: the user registers, receives access details, and then enters them on the streaming page. In the simple version, an access form is enough. In a more advanced version, you can add a unique ID, ticket validation, notifications, and seat limits through other Gravity Wiz tools.
Paid content without a full membership setup
If you just need to sell one file, one recording, or short-term access, a form with a payment field can unlock the content after successful submission. But that is still not the same as a subscription system: the visitor may not have an account, payment history, or access from another device. For an ongoing library of paid resources, a membership plugin is usually the better long-term choice.
Safe extensions through filters and settings
Submit to Access includes developer filters, but they should be used only when the job cannot be done through the interface settings. Do not edit the plugin files directly: updates will overwrite your changes, and a coding mistake can break content access. For small customizations, use a child theme or the Code Snippets plugin, and always test on a staging copy of the site first.
Automatic access for administrators
The official documentation for the gpsa_has_access filter includes an example where administrators automatically receive access. That is convenient for editors and site owners because they can review the page without submitting the form over and over. Only add code like this if you intentionally want administrators to bypass the gating logic.
<?php
add_filter( 'gpsa_has_access', function( $has_access ) {
if ( current_user_can( 'administrator' ) ) {
return true;
}
return $has_access;
} );
The test is straightforward: log in as an administrator and open the gated page in a regular browser window, then open the same page in a private window while logged out. The administrator should see the content, while the guest should see the form or the message. To roll the change back, disable the snippet and clear the cache.
Storing access in the user profile
The gpsa_storage_mode filter allows access to be stored in the logged-in user's profile instead of a cookie. According to Gravity Wiz documentation, guests still rely on cookies. This approach can be useful on sites where users already log in and should keep access across devices, but it is not a substitute for a full subscription model.
<?php
add_filter( 'gpsa_storage_mode', function( $storage_mode ) {
return 'user_profile';
} );
Before enabling this, decide how you will revoke access later. If access is stored in user meta, clearing browser cookies will no longer remove it. For temporary campaigns and simple lead magnets, cookies are often easier and more predictable. For logged-in learning portals, profile-based storage may be more convenient, but it does require more careful maintenance.
When not to add code
If the task sounds like "make files inaccessible through a direct link," an access filter does not solve that on its own. That is a question of file storage, server rules, protected downloads, or a separate download delivery mechanism. If you need to validate a ticket, email, or access code, look for confirmed snippets and documentation tied to that exact form instead of writing a guess-based check.
For marketing-driven use cases, the message, access duration, and cache exclusion are often enough. Custom code is justified only when it changes a specific documented behavior, not when it creates hidden business logic that site editors will struggle to maintain later.
Why access does not open and how to find the cause
Troubleshooting is easiest when you follow the full chain: the form was submitted, the entry was created, the cookie or profile recorded access, the page refreshed the gated content, and the cache did not replace the result with something stale. If you skip one of those layers, you can spend a long time changing plugin settings when the real problem is in the confirmation, the cache, or the cookie banner.
After submission, the Gravity Forms message stays on screen
Symptom: the user submits the form, sees the standard thank-you message, and the gated content appears only after a manual refresh or does not appear at all. Possible causes: the form submits in the wrong mode, the page has a JavaScript error, the wrong confirmation is firing, or the cache is serving old HTML.
Test the form separately from Submit to Access: does it create an entry, are there any console errors, and has optimization disabled any required scripts? Then test the page without caching and with the latest version of the plugin. Gravity Wiz changelog entries have included fixes related to content display after submission, so an outdated version can still produce symptoms that have already been resolved in newer releases.
The form appears again after the page reloads
Symptom: the user submitted the form, saw the content, but after reloading the page the form appears again. What to check: whether the gpsa_submitted_forms cookie is being saved, whether a cookie consent plugin is blocking it, whether the browser is clearing cookies, or whether the page is being tested in a restricted private mode.
If the site uses a strict cookie banner, add the required cookie to the allowlist or test the scenario after consent is accepted. If access needs to persist across devices for logged-in users, consider the documented user-profile storage filter, but only after testing it on a staging copy of the site.
The redirect sends users to the wrong place or loops
Symptom: the visitor keeps landing on the form page, or does not return to the gated material after submission. Possible causes: the confirmation is not configured as Redirect, the URL field does not contain {gpsa_gated_url}, the form submission is failing, the form page itself is gated by the same rule, or the cache is storing the wrong redirect.
Test the route from the beginning: gated page - redirect to the form - successful submission - redirect back. The form page must not require that same form itself, or the user will end up in a logic loop. If payment is involved, verify that access is granted only after a successful form submission, not after a failed payment attempt.
The same form does not appear in every gated block
Symptom: a page contains several gated blocks, but the form appears only in the first one. This is an expected Gravity Forms limitation: the same form cannot be rendered correctly multiple times on a single page. The Submit to Access documentation specifically calls out this behavior for multiple blocks using the same form.
The fix depends on your goal. If one submission should unlock all blocks, keep the form in the first block and configure the others so they do not require their own form output. If each fragment needs to unlock independently, use different forms or rebuild the page around one shared gated section.
Cache shows the open or closed version to the wrong user
Symptom: different users see inconsistent versions of the page. Cause: page cache, object cache, a CDN, or an optimizer may be serving the same HTML regardless of access state. This becomes especially noticeable on pages with an inline form and AJAX-based updates.
Start by disabling caching temporarily for the test page. If the problem disappears, add an exclusion for the URL, the relevant cookies, or the specific template. There is no need to disable site-wide caching permanently without a reason, but you also should not cache a page whose behavior depends on an access cookie.
Questions that come up during access setup
Can I use the same form ID on multiple pages?
Yes. If Require Unique Submission is turned off, submitting the form can unlock other pages that require the same form. If you need a separate submission for each page, enable unique submission, but remember that it does not work with Redirect mode.
Is the plugin compatible with Elementor?
Yes. The Gravity Wiz documentation states that the [gpsa] shortcode can be used anywhere shortcodes are supported, including Elementor and Beaver Builder. For complex templates, start by testing one simple fragment and only then move the setup into the live layout.
Can it protect a custom post type?
Yes. The documentation includes the gpsa_supported_post_types filter and a snippet for enabling support for a custom post type. This is a developer task, or something to handle carefully in Code Snippets, because you need to understand which post types should actually receive access settings.
Will access persist on another device?
By default, guest access is usually tied to a browser cookie, so another device may require a new submission. For logged-in users, there is a gpsa_storage_mode filter that allows profile-based storage, but it should be enabled deliberately and tested carefully.
Can I use the plugin as full protection for paid files?
For a simple paywall flow built around a form, yes, if the goal is limited to unlocking a page or block after submission. For strict file protection against direct links, long-term subscriptions, and user accounts, it is better to use a separate storage method, a membership plugin, or protected downloads.
Why does the form appear again after clearing cookies?
That is expected for cookie-based access. If the user deletes cookies or opens the site in another browser, the site may no longer know that the form was already submitted. Choose your access duration and storage method with that behavior in mind.
Do I need to add a separate YouTube tutorial block?
Only if you find a precise video about Gravity Forms Submit to Access. Random videos about Gravity Forms, gated content, or membership plugins are better left out because they can pull the user into a different interface and make setup more confusing.
When Gravity Forms Submit to Access is the right choice
Use this plugin if the site already relies on Gravity Forms and access should open only after a specific form submission: registration, inquiry, survey, payment form, attendee verification, or a lead magnet. It is especially practical when you need to quickly gate a page, block, or builder fragment without creating a full account system.
Before launching it on a live page, test the form itself, the Gravity Forms entry, the cookie, the access duration, caching behavior, and the flow in a private window. If the setup involves payment, test the payment feed separately and do not complicate the form until the core access flow works consistently. If the logic fits your site after testing, you can download Gravity Forms Submit to Access and build your first safe test scenario on a separate page.
If, on the other hand, you need user roles, long-term subscriptions, protected files, purchase history, a user dashboard, and cross-device access, treat Submit to Access as one part of the funnel rather than the only access layer. That approach is fairer to users and more reliable for the site.


