Filters Reference
Analytics endpoints (POST /analytics/resource/{experienceId} and the POST /analytics/sitewide/* endpoints) accept a filters parameter to narrow the result data as a JSON object in the request body.
The deprecated GET /analytics/resource/{experienceId} endpoint does not accept the new filters contract. It remains available only during the beta for the original query-parameter shape and will be removed when the beta version ends.
All filter fields are optional. Omit a field or set it to null to skip that filter.
Dimension Filters
deviceType
string
"any", "mobile", or "desktop"
visitorType
string
"any", "new", or "returning"
countryCodes
string[]
ISO 3166-1 alpha-2 codes, e.g. ["US", "GB"]
sourceSitesOrChannels
string[]
Traffic channel names (see list below)
Available traffic channels: Referral, All Social, Organic Social, Paid Social, Organic Search, Paid Search, Paid Shopping, Email, Google, Facebook, Instagram, Linktree, TikTok, Twitter, Direct, SMS, Meta, Youtube, Other
Page & URL Filters
landingPage
object
{ landingPageUrlPath: string, landingPageUrlPathFilterType: operator }
urlParam
object
{ queryParam: string, queryParamValue: string, queryParamFilterType: operator }
Match operators for landingPageUrlPathFilterType: equals, contains, startsWith, endsWith, doesNotEqual, doesNotContain, doesNotStartWith, doesNotEndWith, isNull, isNotNull
Match operators for queryParamFilterType: all of the above plus regex
User Behavior Filters
userBehavior
object
{ viewedCheckout?: boolean, addedToCart?: boolean, viewedProductPage?: boolean, viewedCollectionPage?: boolean }
reachedCheckoutStage
string
"any", "started", "contact_info_submitted", "address_info_submitted", "added_to_cart"
Revenue & Order Filters
minNetRevenue
number
Minimum order net revenue (inclusive)
maxNetRevenue
number
Maximum order net revenue (inclusive)
minShippingRevenue
number
Minimum shipping revenue (inclusive)
maxShippingRevenue
number
Maximum shipping revenue (inclusive)
shippingMethods
string[]
Shipping method names to include
currency
string[]
ISO 4217 codes, e.g. ["USD", "EUR"]
maxZScore
number | null
Outlier Z-score threshold; null disables filtering
Custom Events Filters
triggeredCustomEvents
string[]
Custom event identifiers. You can find the id for your custom event in the GET https://api.intelligems.io/v25-10-beta/experiences payload.
customEventsFilterType
string
"any" (at least one), "all" (every event), "none" (none of the events)
Product Filters
experimentProductsOnly
boolean
Only include products in the experiment
onlyProductIds
string[]
Shopify product IDs to include
onlyProductHandles
string[]
Shopify product handles to include
Advanced Targeting
pageTargeting
array
Expression groups for page-level targeting
productTargeting
array
Expression groups for product-level targeting
applyExperienceTargetingExperienceId
UUID
Reuse targeting config from an existing experience
Page targeting — each group has type (one of: utm, url, urlPath, device, visitor, trafficSource, country, referrer, cookie, klaviyo, landingPage) and queries array. Each query: { key: string, value: string, filter: matchOperator, type: filterType }.
Product targeting — each group has type (one of: productId, collection, tag, price, inventory) and queries array. Each query: { key: productAttribute, value: string | number, filter: productOperator, type: productAttribute }. Product operators: includes, doesNotInclude, greaterThan, lessThan.
Example Filter Object
For the resource and sitewide POST endpoints, send the filter object directly in the JSON body under filters.
Last updated