ForgePress Country Choice Rules for Gravity Forms
by forgepress on WordPress.org
Country-based choice rules for Gravity Forms. Hide or replace field choices per country, with optional VPN/Proxy handling.
ForgePress Country Choice Rules for Gravity Forms lets you define rules that remove specific choices (radio, dropdown, checkbox options) for visitors from selected countries. This happens server-side (secure), and you can configure a fallback choice to auto-select when an option is removed.
Highlights
- Per-country choice blocking for radio, dropdown, and checkbox fields
- Multi-form / multi-field rules (simple repeater UI)
- Fallback choice (optional) if a blocked option is removed
- Server-side filtering (not just CSS/JS hiding)
- Optional VPN/Proxy handling:
- Do nothing
- Show warning message
- Force a default country for rule evaluation
- Block submission with a custom message
- Cloudflare aware (
CF-IPCountry) with 1h caching for IP lookups - Lightweight and admin-friendly
This plugin is not affiliated with or endorsed by Gravity Forms. It simply integrates with Gravity Forms via its standard hooks.
How it works (in short)
- You add rules: Form ID + Field ID + Choice Text/Value + Countries (+ optional fallback).
- On render/validation, the plugin detects the visitor country.
- If a rule matches, the corresponding choice(s) are removed and an optional fallback is selected.
External Services & Data Flow (Guideline 6)
This plugin may use third-party services to determine the visitor’s country and (optionally) detect VPN/Proxy usage.
-
Cloudflare (if your site is on Cloudflare):
We read theCF-IPCountryheader provided by Cloudflare. No outbound request is made by this plugin.
Privacy: https://www.cloudflare.com/privacypolicy/ -
ipapi.co (free) (default geolocation when Cloudflare is not present):
The plugin requestshttps://ipapi.co/{IP}/json/to map visitor IP country.
Data sent: visitor IP only.
Retention: result cached in WordPress for 1 hour.
Privacy: https://ipapi.co/privacy/ -
Optional VPN/Proxy checks (opt-in by the site admin):
- ipregistry.co (if an API key is configured):
Data sent: visitor IP to check proxy/VPN indicators.
Privacy: https://ipregistry.co/privacy - ipapi.com PRO (if an API key is configured):
Data sent: visitor IP withsecurity=1to check VPN/Proxy/Tor.
Privacy: https://ipapi.com/privacy
- ipregistry.co (if an API key is configured):
No form entries or personal form fields are sent to these providers. Admins can disable optional VPN checks entirely.
GDPR/Privacy: Only an IP address may be sent to the selected provider(s) to derive country/VPN status. You should disclose this in your site privacy policy if enabled.
Notes on Naming / Trademarks
This is an independent plugin for Gravity Forms and is not affiliated with or endorsed by Gravity Forms. The name and readme make this relationship clear.
Features in Detail
- Rule builder UI under Settings ForgePress Country Choice Rules
- Add multiple rows; each row targets a Form ID + Field ID, the choice label/value, and a list of countries (ISO-2).
- Optionally set a Fallback choice to auto-select if the blocked option is removed.
- Runtime enforcement
- Choices are removed on
gform_pre_renderand validated ongform_validation. - If a blocked value is posted manually, validation fails with a clear message.
- Choices are removed on
- VPN/Proxy handling
- Admin can choose: Do nothing, Show warning, Force country, or Block submission.
- Works without an API key (heuristics). With a key (ipregistry/ipapi PRO), detection is more accurate.