- Getting Started
- Field Types
- Email Notifications
-
Integrations
- MailerLite
- Create User Accounts with Convert Forms
- MailChimp
- HubSpot
- GetResponse
- AcyMailing
- Content App
- Webhooks Addon
- Facebook Meta Pixel
- Google Adwords
- Sync submissions with your favorite app
- Integrate Drip Ecommerce CRM with Convert Forms
- Google Analytics
- Constant Contact
- SalesForce Web-to-Lead
- IContact
- Zoho CRM
- Elastic Email
- Zoho Campaigns
- Zapier
- Kit (ConvertKit)
- Brevo (Sendinblue)
- Campaign Monitor
- AWeber
- ActiveCampaign
-
Functionality
- Show or Hide Form Fields Based on User Joomla User Group
- Disabling Browser Autocomplete for Form Fields
- Scroll the Page to the Top When a Long Form is Submitted
- Display Submissions Count for a Specific Form
- Populate Drop Down, Radio Buttons or Checkboxes with a CSV File
- Automatically Delete Submissions Older Than X Days
- Silently POST Submitted Data to Any API or URL
- Automatically Save Each Submission to a JSON file
- Authenticate and Login a User with a Custom Joomla Form
- Auto-Populate a Form Field with an Article Data
- Add a placeholder text to a Dropdown
- Create Multilingual Forms in Joomla
- Create a custom Joomla User Registration Form
- Redirect User to a URL After Form Submission
- Export and Import Forms across different Websites
- Export Form Submissions to CSV
- Convert Forms
- Styling and Customization
- Payment Forms
-
Advanced Features
- How to Create a Quiz Form
- Displaying a Popup After Form Submission Using EngageBox
- Conditional Content Shortcode in Convert Forms
- Copy Value From One Field to Another
- Tasks
- Export Form Submissions with a Webhook URL
- Conditional Fields
- PDF Form Submissions
- Input Masks
- Field Calculations
- Auto-Populate Form Fields Using Query String
- Use Smart Tags
- Developers
- Troubleshooting and Support
-
Spam, Security & Compliance
- Enable Minimum Time to Submit
- Restrict Form Submissions Based on IP
- Enforcing a Custom Password Policy in Convert Forms
- Add Cloudflare Turnstile to your Joomla Form
- Implement the Iubenda Consent Database in Joomla with Convert Forms
- Add Custom Validations to Fields and Forms
- Add Math Captcha to your Form
- Prevent a Field From Saving in the Database
- Add hCaptcha to your Form
- Enable Double Opt-in
- Allow Form Submissions in Specific Date Range
- Ensure a Unique Value is Entered Into a
- Block Form Submissions Containing Profanity (Bad Words)
- Block Email Addresses or Email Domains
- Add Honeypot Protection
- Setting Up Google reCAPTCHA
- Create GDPR Compliant Forms
Enable Minimum Time to Submit
Convert Forms protects your forms from spam bots by requiring users to spend a minimum amount of time on the form before submission. Bots typically fill out and submit forms almost instantly, while real users take time to read and enter information. By enforcing a time delay, you can filter out automated submissions and reduce spam.
How it works
When enabled, the form tracks how long the user has been on the page before allowing submission. If the form is submitted faster than the specified time, it is flagged as spam and blocked.
Spam bots attempt to bypass normal user behavior by:
- Injecting data directly into form fields without interacting with the page.
- Submitting the form immediately after the page loads.
- Skipping natural actions like reading the form or reviewing input.
Since real users take time to read and fill out a form, this restriction makes it difficult for bots to submit spam while remaining unnoticed by genuine visitors.
How to setup
This option is enabled by default with a minimum time of 2 seconds. If you want to adjust this value, follow these steps:
- Go to the Behavior panel.
- Open the Security and Restrictions section.
- Enable the Minimum Time to Submit option.
- Enter the desired time in seconds in the input field below.
If a user attempts to submit the form before the minimum time you configured, they’ll see an error message prompting them to wait a little longer before submitting the form.
How the timer works
To ensure the timer works accurately, we don’t rely on when the page first loads, as caching or other extensions can cause issues. Instead, we wait until the page is ready, and then we start the timer.
Here’s how it works: when the page is ready for interactions, we send a quick background request (called an XHR request) to start the timer. This background request happens very quickly and only once for all forms on the page.
The timer then starts when the background request is finished, which might be slightly later than when the page first opened. However, this difference is usually less than a second, so it won’t affect the user experience. This method ensures that the timer is accurate, even if your website uses caching to speed up page loading.