Skip to content

Campaign Visibility Controls

Quikly offers visibility controls at two levels: campaign-level controls that affect the entire campaign, and component-level controls that let you customize individual placements.

These controls affect the entire campaign — all placements, all components.

ControlPersistenceUse Case
URL Rules (Visitor Session)Cookie-based (session)Qualify visitors based on entry page (e.g., “only show to visitors who landed on /promo”)
Page URL RulesPer page viewControl which pages the campaign appears on site-wide
Visibility PercentageCookie-based (session)A/B testing — show campaign to X% of visitors
Visitor LimitServer-sideCap total participants
  1. Open your campaign in the Quikly dashboard.
  2. Navigate to the Editor > Launch page.
  3. Look for the Visibility section.

Use this to qualify visitors based on how they arrived at your site. Once a visitor qualifies, they’ll see the campaign on every page during their session.

Example: You’re running a sitewide promotion but only want visitors who entered through a specific landing page to see it. Set a visitor session rule for /promo — once qualified, they’ll see the campaign everywhere.

Use this to control which pages display the campaign. Unlike visitor session rules, these are evaluated on every page view.

  • Show only on pages matching — Campaign only appears on matching pages
  • Hide on pages matching — Campaign is hidden on matching pages

These controls affect individual placements — you can show different placements on different pages within the same campaign.

ControlUse Case
Show only on Specific URLsShow this placement only on matching pages
Hide on Specific URLsHide this placement on matching pages
Template FilteringShow/hide on Shopify template types (cart, product, etc.)
Product Handle FilteringShow/hide on specific product pages
  1. Navigate to Build > Placements in your campaign.
  2. Click the pencil icon on the placement you want to configure.
  3. Look for the filtering fields in the settings panel.

Control where a specific placement appears based on URL patterns:

  • Show only on Specific URLs — Only display this placement on pages where the URL contains the specified patterns
  • Hide on Specific URLs — Hide this placement on pages where the URL contains the specified patterns

Example: You have a campaign with a banner and a popup. You want the banner on all pages, but the popup only on product pages. Use URL filtering on the popup to show only on /products/.

Filter by Shopify template type instead of URL pattern. Useful for targeting:

  • Product pages
  • Collection pages
  • Cart page
  • Blog posts

Show or hide placements on specific product pages by handle. See Show or Hide Components on Specific Products for details.

ScenarioRecommended Control
”Only show campaign to visitors from email links”Campaign: Visitor Session URL Rules
”Show campaign on product pages only”Campaign: Page URL Rules
”Show banner everywhere, popup only on /collections/*“Component: URL Filtering on popup
”A/B test: show to 50% of visitors”Campaign: Visibility Percentage
”Hide campaign on cart/checkout”Campaign: Page URL Rules OR Component: Template Filtering
”Different offers on different product categories”Multiple campaigns, or Component: Product Handle Filtering
AspectCampaign-LevelComponent-Level
AffectsAll placementsSingle placement
Visitor Session rulesRemembered via cookieN/A
FlexibilityAll-or-nothingFine-grained per placement
Setup complexitySimpler for sitewide rulesMore flexible for mixed layouts

Both campaign and component URL filters use the same pattern matching:

Patterns match if they appear anywhere in the URL.

PatternMatchesDoesn’t Match
snowboard/products/snowboard-bundle, /snowboard-pro/products/skateboard
/products//products/anything, /products/bundle-123/collections/winter
/collections/winter/collections/winter, /collections/winter-sale/collections/summer

Use * as a wildcard to match any characters:

PatternMatches
/products/*-bundle/products/snowboard-bundle, /products/ski-bundle
/collections/*/sale/collections/winter/sale, /collections/summer/sale
*.myshopify.comstore.myshopify.com, test.myshopify.com

Separate multiple patterns with commas:

/products/*, /collections/winter, snowboard

This matches any URL containing /products/, /collections/winter, OR snowboard.

  • Patterns are case-insensitive
  • Patterns match against the full URL including protocol and domain
  • In the campaign editor/preview, URL filtering is bypassed so you can always see your placements

A placement only appears if it passes all three levels:

  1. Campaign-level visitor session rules — Is this visitor qualified? (cookie persisted)
  2. Campaign-level page rules — Should the campaign show on this page?
  3. Component-level filters — Should this specific placement show on this page?

At each level, exclude rules are checked first. If any exclude pattern matches, the placement is hidden. Then include rules are checked — if specified, at least one must match.