Skip to main content
Query Parameter Conditions allow you to create dynamic experiences based on URL parameters. This is essential for affiliate tracking, content visibility control, and personalized visitor experiences.

Understanding Query Parameters

Query parameters are the part of a URL that comes after the ? symbol:
  • Base URL: https://yoursite.com/page
  • With parameters: https://yoursite.com/page?vtID=k&source=facebook
In this example:
  • vtID is a parameter with value k
  • source is a parameter with value facebook

Query Parameter Condition Node

The Query Parameter Condition node checks if URL parameters exist or have specific values. It runs on the server, before the page is sent, and it has two outputs: Output 1 when the condition is true, Output 2 when it is false.

Basic Setup

  1. Go to Page Events for your page
  2. Click “Add Node”
  3. Select “Query Parameter Condition”
  4. Add one or more conditions — each is a parameter name, an operator, a value, and how it joins the next one
  5. Connect Output 1 and Output 2 to the appropriate nodes

Available Operators

There are no numeric operators on this node — “greater than” and “less than” do not exist. All comparisons are string comparisons. For numeric logic use a Script Rule: return parseInt(query.qty) > 3;

Combining conditions

Add several conditions to one node and set each row’s logical operator to AND or OR. The operator on a row joins it to the next row, and the conditions are evaluated left to right with JavaScript precedence — A AND B OR C is (A AND B) OR C. There is no grouping; for anything more nested, use a Script Rule.
Under the hood the node compiles your conditions into a Script Rule against the query object and stores it on the node. That is what actually runs, which is why the semantics match JavaScript exactly. Do not hand-edit the generated script — it is rewritten every time you change a condition.

Common Use Cases

Content Whitelisting

Use parameters to control access to full content: Example: https://yoursite.com/page?vtID=k Configuration:
  1. Go to Page Events for the specific page you want to configure
  2. From the “On Page Loaded” node, drag a new “Query Parameter Condition” node
  3. Configure: Parameter vtID, Operator Equals, Value k
  4. From the “Query Parameter Condition” node, drag a “Whitelist Visitor” node
Result: Visitors with the correct parameter see full content

Affiliate Tracking

Track different affiliate sources: Example: https://yoursite.com/page?affID=100 Configuration:
  • Parameter: affID
  • Operator: Equals
  • Value: 100
  • Action: Dynamic Container (show affiliate-specific content)

Campaign Tracking

Show different content based on campaign: Example: https://yoursite.com/page?campaign=summer2024 Configuration:
  • Parameter: campaign
  • Operator: Equals
  • Value: summer2024
  • Action: Dynamic Container (show summer promotion)

Geographic Targeting

Redirect based on location parameter: Example: https://yoursite.com/page?country=US Configuration:
  • Parameter: country
  • Operator: Equals
  • Value: US
  • Action: Load Page (US-specific page)

Advanced Parameter Logic

Multiple Conditions

You can check multiple parameters in sequence:
  1. First condition: Check if vtID is not empty
  2. Second condition: Check if source equals facebook
  3. Action: Show Facebook-specific whitelisted content

Conditional Branching

Use different actions based on parameter values: Setup:
  • Parameter: traffic_source
  • If equals “google” → Show Google-optimized content
  • If equals “facebook” → Show Facebook-optimized content
  • If empty → Show default content

Parameter Validation

Ensure parameters meet specific criteria: Example: Only whitelist if affiliate ID is valid
  • Parameter: affID
  • Operator: Greater Than
  • Value: 0
  • Action: Whitelist Visitor

Integration with Other Features

Whitelisting System

Query parameters are the primary method for visitor whitelisting: Common patterns:
  • vtID=k for general whitelisting
  • access=premium for premium content
  • preview=true for preview mode

Split Testing

Use parameters to control which visitors see which tests: Example: https://yoursite.com/page?test=variant_a
  • Show specific split test variant based on parameter
  • Useful for controlled testing or affiliate-specific variants

Dynamic Content

Parameters can trigger dynamic content changes: Example: https://yoursite.com/page?price=discounted
  • Show special pricing based on parameter
  • Useful for limited-time offers or special promotions

Best Practices

Parameter Naming

  • Use clear names - vtID, affID, campaign are descriptive
  • Be consistent - Use the same parameter names across all pages
  • Avoid conflicts - Don’t use parameter names that conflict with system parameters

Security Considerations

  • Don’t rely on parameters alone for security
  • Validate parameter values to prevent injection attacks
  • Use HTTPS when passing sensitive information
  • Consider parameter encryption for highly sensitive data

URL Management

  • Keep URLs clean - Use only necessary parameters
  • Document parameter usage - Maintain a list of all parameters and their purposes
  • Test parameter combinations - Ensure multiple parameters work together

Common Parameter Patterns

Affiliate Tracking

Standard parameters for affiliate management:
  • affID or aff - Affiliate identifier
  • subID - Sub-affiliate or campaign identifier
  • source - Traffic source (google, facebook, etc.)
  • medium - Traffic medium (cpc, social, email, etc.)

Content Control

Parameters for content management:
  • vtID - Visitor type identifier for whitelisting
  • access - Access level (free, premium, vip)
  • preview - Preview mode for testing
  • version - Content version or variant

Campaign Tracking

Parameters for campaign management:
  • campaign - Campaign name or identifier
  • utm_source - UTM source tracking
  • utm_medium - UTM medium tracking
  • utm_campaign - UTM campaign tracking

Troubleshooting

Common Issues

  • Parameter not recognized - Check spelling and case sensitivity
  • Condition not triggering - Verify operator and value match exactly
  • Multiple parameters conflicting - Check the order of conditions
  • URL encoding issues - Ensure special characters are properly encoded

Testing Parameters

  1. Manual testing - Add parameters to URLs and test functionality
  2. Browser tools - Use developer tools to inspect parameter values
  3. Incognito mode - Test without cached data
  4. Different browsers - Ensure cross-browser compatibility

Debugging Tips

  • Check parameter spelling - Parameters are case-sensitive
  • Verify operator logic - Ensure you’re using the correct operator
  • Test empty states - Check what happens when parameters are missing
  • Monitor page events - Use debugging tools to track node execution

Multi-Parameter Logic

Dynamic Parameter Generation

Generate parameters dynamically:
  • JavaScript generation - Create parameters based on user behavior
  • Server-side generation - Add parameters based on server logic
  • Third-party integration - Parameters from external systems

Parameter Persistence

Maintain parameters across page navigation:
  • Session storage - Store parameters for the session
  • Local storage - Store parameters persistently
  • URL rewriting - Automatically add parameters to all links

API Integration

Use parameters for API calls:
  • Pass parameters to external APIs - Forward tracking data
  • Receive parameters from APIs - Get data from external systems
  • Webhook integration - Send parameter data to webhooks
Keep query parameters focused. Too many parameters make URLs harder to read, test, and share.