Filters and segments
A filter narrows visitor analytics to the people who match it; independent data follows the scope rules below. It lives in the URL, so a filtered view is a link you can send, and a segment is a filter with a name.
The URL
One clause per dimension: the dimension, an operator, and one or more values. "is" is the bare key; every other operator is appended with a dot:
?f_channel=google-ads Source is Google Ads
?f_country=US&f_country=DE Country is US or Germany
?f_country=US,DE the same, comma form
?f_device.not=mobile Device is not Phone
?f_page.contains=pricing Page contains "pricing"
?f_page.starts_with=/blog/ Page starts with "/blog/"
?f_page.matches=/docs/* Page matches a pattern (* = anything)
?f_entry.not_contains=blog Entry page does not contain "blog"
?f_action=checkout_start Started a checkout (Shopify pixel)
?f_visit=new First-time visitors
?f_goal=signup&f_goal.prop.plan=pro Goal signup with plan = pro
The operators are is (bare key), not, contains, not_contains, starts_with, ends_with and matches. "is" is an exact match; the others ignore case. Several values on a list dimension mean any of them (is) or none of them (is not), up to 20 values of up to 512 characters each. Text dimensions take one value. If a URL carries two operators for the same dimension, the first in that operator order wins. Clauses across dimensions all have to hold.
Dimensions
- Source (
channel): is, is not. The channel keys from the sources panel. Paid clicks have their own keys,google-ads,meta-ads,tiktok-ads,bing-ads,twitter-adsandlinkedin-ads, sogoogle-adsis Google Ads andgoogleis organic Google only; a bare fbclid ismeta. - Campaign, Term, Content (
utm_campaign,utm_term,utm_content) and Referrer site (referrer): is, is not, contains, does not contain. One value. - Page (
page) and Entry page (entry): all seven operators. Page tests every pageview's path; entry tests only the first pageview of each session. - Goal (
goal): is, is not, plus one property withf_goal.prop.<key>=<value>, so "completed signup with plan = pro". See goal properties. - Shop step (
action): acceptsproduct_view,add_to_cartandcheckout_startevents. The Shopify pixel currently sends checkout starts; it does not send product views or add-to-cart events. - Country, Region, City, Device, Browser, Operating system (
country,region,city,device,browser,os): is, is not. - Visit (
visit): is only,neworreturning. Judged from the visit number the tag sends with each pageview.
What a filtered number means
Filters are judged per visitor, not per event. A visitor matches when at least one of their events in the fetched set satisfies every positive clause at once (is, contains, starts with, ends with, matches) and none of their events satisfies a negative clause (is not, does not contain). Then all of that visitor's events flow into the page.
That is why "visitors from Meta on mobile" carries their orders and revenue with them even when the order itself arrived direct: money follows the visitor, the same stance the rest of the product takes. It also means "Page is not /checkout" reads as "people who never reached /checkout", which is the question an owner asks with it.
Funnels and the previous-period comparison narrow to the same filtered people. Ad-platform and claims panels hide, Search Console honours only a Page clause and hides under any other, and imported history is left out. MRR is site-wide and hides under visitor filters because subscription records cannot be joined to those filters. Crawler reporting has its own server-request scope.
Segments
Save the current filter under a name (up to 64 characters) and it appears as a chip on the bar for everyone on the site. Saving the same name again replaces its filter. Owners save and delete; viewers can apply a segment but not edit it. Applying one is a navigation, so the URL is the same one you would have built by hand.
Clicking a step in a funnel applies that step's rule as a filter through the same bar.
Questions? Email us at hello@datastated.com.