DOCS · VISIGATE 1.3

Visigate Documentation

Everything you need to set up rule sets, apply them anywhere and get the most from Pro, Business and Agency features.

ON THIS PAGEOverviewInstallation & licenseRule setsThe rule builderBlock editorElementorShortcodePHP functionCore conditionsVisitor & user conditionsWooCommerce conditionsFallback contentScheduling presetsRule templatesImport & exportWhite-label & client lockMultisiteCaching & performancePreviewing rulesPlans & licensingDeveloper hooksTroubleshooting

Overview

Visigate shows or hides any block, Elementor element or piece of content based on who is visiting and when. You describe the audience once as a rule set — for example “logged-in customers on mobile” or “weekends in December” — and apply it anywhere on your site.

Rules are evaluated on the server before the page is sent. Content that doesn’t match is never rendered, so it isn’t just hidden with CSS, and Visigate adds no JavaScript to your front end.

What each plan includes

PlanSitesAdds
FreeAnyRule builder, block editor, Elementor & shortcode, 8 core conditions, cache safety, admin preview
Pro1Country, URL parameter, cookie, referrer, user meta and 8 WooCommerce conditions
Business5Fallback content, scheduling presets, 6 more WooCommerce conditions
AgencyUnlimitedRule templates, import/export, white-label, client lock, multisite

Installation & license

Requirements: WordPress 6.2 or newer and PHP 7.4 or newer. WooCommerce and Elementor are optional.

  1. Download Visigate (free), then in WordPress go to Plugins → Add New → Upload Plugin, choose the zip and click Install Now, then Activate.
  2. For paid features, upload Visigate Pro the same way. You’ll find the Pro zip in your Freemius purchase email and customer account. Pro is an add-on, so keep the free plugin active.
  3. Activate Visigate Pro and enter your license key when prompted. Your plan (Pro, Business or Agency) unlocks automatically.

A Visigate menu appears in wp-admin with Rule Sets, Settings and — with Pro — Templates, Import / Export and Pro Settings.

Running a WordPress multisite network? Network-activate both plugins, then go to Network Admin → Settings → Visigate Network. See Multisite.

Rule sets

A rule set is a saved, reusable description of an audience. Build it once under Visigate → Rule Sets → Add Rule Set, then apply it to as many blocks, Elementor elements or shortcodes as you like. Change the rule set later and every place that uses it updates.

The Rule Sets screen shows a summary of each rule and the shortcode to use it.

Visigate Rule Sets screen with rule summaries and shortcodes
The Rule Sets screen lists each rule with a summary and its ready-to-copy shortcode.
  • Only published rule sets are applied. If a block points to a rule set that is a draft, in the trash or deleted, that content stays hidden — Visigate fails closed so private content never leaks.
  • A rule set with no conditions means “always visible”.

The rule builder

Show or hide

Every rule starts with an action: Show this content only when… or Hide this content when….

Conditions and groups

  • Conditions inside a group are combined with AND — all of them must match.
  • Groups are combined with OR — any matching group is enough.
  • Use + Add condition (AND) to narrow a group, and + Add OR group to add an alternative audience.

Below the builder, a plain-English summary reads the rule back to you, so you can double-check it before saving.

Visigate rule builder with two OR groups
“Show only when the visitor is logged in AND is a Subscriber AND is on mobile — OR it's Saturday or Sunday.”

Hiding instead of showing

Switch the action to hide content from a specific audience — for example, hide promotional banners from your own team.

Hide this content when the user role is administrator or editor
A hide rule: the content is hidden from administrators and editors and shown to everyone else.
Half-finished conditions (for example, a role condition with no role picked) are ignored rather than treated as “false”, so an incomplete rule never hides content by accident.

Applying rules in the block editor

Select any block, open the block settings sidebar and expand Visibility Rules. You can:

  • Saved rule set — pick one of your rule sets (recommended for anything you reuse), or follow Create a reusable rule set.
  • Custom rules for this block — build a one-off rule right in the sidebar with the same builder.
  • When hidden, show instead Business — pick a synced pattern to display when the block is hidden.

Rules on a container block (Group, Columns, Cover…) apply to everything inside it.

Visibility Rules panel in the block editor sidebar
The Visibility Rules panel in the block sidebar.
Inside the editor every block stays visible so you can keep editing. Rules only apply on the live site — use admin preview to check them.

Applying rules in Elementor

Visigate adds a Visigate: Visibility section to the Advanced tab of every Elementor widget, section, column and container.

  • Rule set — choose a rule set, or leave it on Always visible.
  • When hidden, show instead Business — show nothing, use the rule set’s fallback, or display a saved Elementor template.
Visigate: Visibility section in Elementor Advanced tab
Elementor → Advanced → Visigate: Visibility.

Using the shortcode

Wrap any content — in classic editors, widgets, page builders or theme files — with [visigate].

[visigate set="12"]
  Content for rule set #12
[/visigate]

The rule set ID is shown in the Rule Sets list. You can also write simple rules directly as attributes:

AttributeExampleMeaning
setset="12"Apply a saved rule set
logged_inlogged_in="yes"yes = logged-in users, no = logged-out visitors
rolesroles="customer,subscriber"User has any of these roles
devicedevice="mobile,tablet"desktop, tablet or mobile
bought Probought="45,46"Customer has bought any of these product IDs
bought_days Probought_days="30"…within the last N days (0 = any time)
hidehide="yes"Hide (instead of show) when the attributes match
fallback Businessfallback="34"Synced pattern ID to show when hidden
[visigate logged_in="yes" roles="customer" device="mobile"]
  Mobile offer for logged-in customers
[/visigate]

When you combine set with attributes, both must allow the content.

PHP function

Theme and plugin developers can check a rule set anywhere in PHP:

<?php if ( function_exists( 'visigate_visible' ) && visigate_visible( 12 ) ) : ?>
  <div class="promo">Members-only promo</div>
<?php endif; ?>

visigate_visible() accepts a rule set ID or a rules array and returns true or false.

Core conditions Free

ConditionOptionsNotes
Login statusLogged in / Logged out
User roleis any of / is none ofAny role on your site, including custom roles
User capabilityhas / does not haveAny capability, e.g. edit_posts
Account age (days)is more than / is less thanDays since the user registered — great for welcome messages
Device typeis any of / is none ofDesktop, tablet or mobile, detected from the browser’s user agent
Day of weekis any of / is none ofMonday–Sunday
Time of dayis between / is not betweenSupports overnight ranges such as 22:00–06:00
Date rangeis within / is outsideStart, end or both

Day, time and date conditions use your site’s timezone from Settings → General.

Weekdays between 9:00 and 17:00
Weekdays between 9:00 and 17:00.

Visitor & user conditions Pro

ConditionOptionsNotes
Countryis any of / is none ofSee detection below
URL parameterequals, does not equal, contains, exists, does not existPerfect for campaigns, e.g. utm_source exists
Cookieequals, does not equal, contains, exists, does not existAny cookie name and value
Referrercontains / does not containThe page the visitor came from, e.g. google.
User metaequals, does not equal, contains, exists, does not existAny user meta key, e.g. a membership level stored by another plugin
URL parameter and referrer conditions in two OR groups
Show campaign content to visitors with a utm_source parameter OR arriving from Google.

How country is detected

Visigate never calls an outside lookup service. It reads the country your host or CDN already provides — Cloudflare, Amazon CloudFront, Vercel, Google App Engine and common GeoIP headers — and falls back to WooCommerce’s built-in geolocation when WooCommerce is installed. Developers can supply their own with the visigate_country_code filter.

Date range combined with Country condition
A holiday banner limited to a date range and to visitors from the Philippines or the United States.
If no country source is available on your hosting, the Country condition can't match. Turn on Cloudflare (free plan) or install WooCommerce to enable detection.

WooCommerce conditions Pro

These conditions appear in the builder automatically when WooCommerce is active.

ConditionPlanOptions
Purchased productProhas / has not bought any of — optionally within the last N days
Purchased from categoryProhas / has not bought from — optionally within the last N days
Lifetime ordersProis at least / is at most / equals
Lifetime spendProis at least / is at most / equals
Customer billing countryProis any of / is none of
Cart contentsProincludes any of / includes none of
Cart subtotalProis at least / is at most / equals
SubscriptionProhas / has no active subscription (WooCommerce Subscriptions)
Coupon usedBusinesshas / has not used any of — optionally within the last N days
Coupon applied to cartBusinessincludes any of / includes none of
Shipping countryBusinessis any of / is none of
Product reviewsBusinesshas / has not left a product review
Subscription to productBusinesshas / has no active subscription to any of
Days since last orderBusinessis at least / is at most

Ideas: upsell accessories to people who bought a product in the last 30 days, show a VIP banner to customers who have spent 500 or more, nudge carts under your free-shipping threshold, or win back customers whose last order was more than 90 days ago.

Fallback content Business

By default, hidden content simply disappears. With fallback content you show something else in its place — a sign-up prompt instead of members-only content, or “Sale starts Friday” before the sale banner goes live.

Fallback can be set in three places. The first one that applies wins:

  1. Block: When hidden, show instead in the block’s Visibility Rules panel (a synced pattern). In Elementor, the same option can show a saved Elementor template.
  2. Shortcode: [visigate set="12" fallback="34"] where 34 is a synced pattern ID.
  3. Rule set: the Fallback content box on the rule set screen — a synced pattern or custom HTML (shortcodes allowed). Used everywhere that rule set hides content.
Fallback content box on the rule set screen
The Fallback content box on a rule set: choose a synced pattern or write custom HTML.
Create synced patterns in the block editor (Create pattern with “Synced” on) or under Appearance → Editor → Patterns.

Scheduling presets Business

Add a time rule in one click from Add a scheduling preset… at the top of the builder. The preset is combined (AND) with your other conditions.

  • Business hours (Mon–Fri, 9:00–17:00)
  • Outside business hours (evenings and weekends)
  • Weekdays only · Weekends only
  • Mornings (6:00–12:00) · Evenings (18:00–midnight)
  • Next 7 days (starting now) · Rest of this month
  • Black Friday to Cyber Monday · Christmas season (Dec 1–26) · New Year sale (Dec 26–Jan 2) · Valentine’s (Feb 1–14)

Presets insert ordinary day, time and date conditions, so you can fine-tune them afterwards — and they keep working even without a license.

Business hours preset inserted into the rule builder
The Business hours preset added to a new rule.

Rule templates Agency

Visigate → Templates is a library of ready-made rule sets. Click Use template and Visigate creates it as a draft so you can review it, then publish it.

Included: Members only, Guests only, Logged-out visitors on mobile, New users (first 7 days), Staff only, Visitors from ad campaigns and Visitors from Google. With WooCommerce you also get VIP customers, Repeat customers, First-order offer, Free-shipping nudge and Active subscribers.

Rule Templates library
The rule templates library.

Import & export Agency

Move rule sets between sites under Visigate → Import / Export.

  • Export: tick the rule sets to include and click Download export file. You can also select rule sets on the Rule Sets screen and choose Bulk actions → Export to file.
  • Import: choose a Visigate .json file (up to 2 MB). Tick Skip rule sets whose title already exists to avoid duplicates.
Import and export rule sets
Import / Export.
Product, category and user IDs are copied as they are. If the other site has different products, review WooCommerce conditions after importing.

White-label & client lock Agency

Under Visigate → Pro Settings:

White-label

Rename the plugin everywhere in wp-admin — menu, settings, block editor, Elementor, admin bar and the Plugins screen. You can set the plugin name, description, author name and author URL, and hide the Account and Pricing pages from the menu. Leave the name empty to turn white-label off.

Client lock

Stop clients from changing your rules. When enabled, only the users you list can manage visibility; other administrators won’t see rule sets, settings, the block editor panel or the Elementor controls — but existing rules keep working for them. You’re always kept on the list so you can’t lock yourself out, and you can also hide the Deactivate and Delete links from other administrators.

Pro Settings: white-label and client lock
Pro Settings: white-label and client lock.

Multisite Agency

Network-activate Visigate and Visigate Pro, then open Network Admin → Settings → Visigate Network.

  • Shared rule sets: tick rule sets on the main site to copy them to every other site running Visigate. Copies are labelled “Network” and update when you sync. Turn on automatic sync to push changes whenever a shared rule set is saved, or use Save and sync now.
  • Shared Pro settings: apply your white-label and client-lock settings across the network.

Un-sharing or deleting a rule set never removes the copies — they just stop updating. Edit shared rule sets on the main site; changes made on a subsite are replaced at the next sync.

Caching & performance

Visigate checks rules on the server and adds no front-end CSS or JavaScript. To keep page caches accurate, pages whose rules depend on the individual visitor are automatically excluded from page caching (Visigate sets the standard DONOTCACHEPAGE signal used by most caching plugins).

This applies to: device, day of week, time of day, date range, country, URL parameter, cookie, referrer, cart contents, cart subtotal, coupon applied to cart and shipping country. Login, role and purchase-history rules need no exclusion, because logged-in users already bypass most page caches.

Turn this off under Visigate → Settings → Cache safety only if you handle caching yourself.

Visigate Settings: cache safety, admin preview and developer reference
Visigate Settings.
If your host uses a server-level or CDN cache that ignores DONOTCACHEPAGE, exclude pages that use visitor-specific rules in that cache's settings.

Previewing rules

Because you’re logged in as an administrator, you may not see what visitors see. With Admin preview enabled (Visigate → Settings), the admin bar on the front end shows Visigate: reveal hidden content. Click it to show everything that is hidden from you, faded and outlined in red. Click again to switch back.

Front end as an administrator on desktop: rule-controlled blocks are not rendered
Normal view as an administrator on desktop: rule-controlled blocks aren't sent to the browser.
Admin preview: hidden blocks revealed and outlined in red
Admin preview: hidden blocks are revealed and outlined in red.

To see the page exactly as a visitor, open it in a private browser window — and on a phone for device rules.

Plans & licensing

  • Your plan is detected from your license automatically. Features above your plan show a lock and an upgrade link.
  • If your license expires, your existing rules, fallback content and settings keep working on your site. You can’t edit Pro conditions or receive updates until you renew.
  • Rules that use a Pro condition while Visigate Pro is deactivated are treated as not matching, so “show only when…” content stays hidden instead of leaking. In the builder they appear as Unavailable condition.
  • Every paid plan has a 14-day free trial and a 30-day money-back guarantee. Compare plans.

Developer hooks

HookUse it to
visigate_conditionsRegister your own conditions in the builder
visigate_check_conditionEvaluate your custom conditions
visigate_condition_optionsChange option lists (roles, devices, weekdays…)
visigate_deviceOverride device detection
visigate_country_code (Pro)Supply the visitor’s country code
visigate_hidden_block_outputChange what a hidden block renders
visigate_hidden_shortcode_outputChange what a hidden shortcode renders
visigate_missing_set_visibleDecide visibility when a rule set is missing
visigate_dynamic_page (action)Runs when a page is marked as uncacheable
visigate_rest_search, visigate_is_pro, visigate_brand_name, visigate_user_can_manage, visigate_js_dataAdvanced customisation

Troubleshooting

My content isn’t hiding

  • Check you’re viewing the live page, not the editor — rules don’t apply inside the editor.
  • Make sure the rule set is published, and read its summary on the Rule Sets screen.
  • Clear your page cache and any CDN cache after changing rules.
  • Use admin preview to see which blocks Visigate is hiding.

Content is hidden from everyone

  • A block may point to a draft or deleted rule set — these fail closed. Pick a published rule set.
  • A Pro condition is used while Visigate Pro is deactivated.
  • The Country condition is used but your hosting provides no country information.

Time-based rules are off by a few hours

Set your timezone under Settings → General — Visigate uses the site’s timezone, not the visitor’s.

Still stuck? Contact support with your WordPress, PHP and plugin versions and a screenshot of the rule set.