This article explain how to use custom filters for all Google Analytics widgets, except for the current visitor gauge and current visitor map. If you’re setting up one of these two widgets, please check this other article instead.
Custom filters are short statements that you can apply to our Google Analytics widgets to refine the data that’s displayed and drill down to the particular metric you're interested in.
From a technical perspective, custom filters restrict the rows of data that are – or aren't – included in the result. Each row in the result is tested against the filter: if the filter matches, the row is retained and if it doesn't match, the row is dropped.
Syntax of custom filters
The syntax of custom filters is always the same:
name operator expression
For Core Reporting API, the
name always begin with ga: followed by the dimension or metric you want to filter by. Google has a great resource called the Dimensions & Metrics Explorer that lists and describes all of the dimensions and metrics available through the Core Reporting API.
Popular dimensions and metrics include:
There are six filter operators for dimensions and six filter operators for metrics. The operators must be URL-encoded in order to be included in URL query strings.
Use the Data Feed Query Explorer to design filters that need URL encoding, since the Query Explorer automatically encodes URLS containing strings and spaces.
Does not equal
Greater than or equal to
Less than or equal to
Does not match
Does not contain substring
Contains a match for the regular expression
Does not match regular expression
The expression states the values to be included in or excluded from the results.
There are a few important rules for filter expressions:
URL-reserved characters — Characters such as
&must be url-encoded in the usual way.
Reserved characters — The semicolon and comma must be backslash escaped when they appear in an expression:
Regular Expressions — You can also use regular expressions in filter expressions using the
!~operators. Their syntax is similar to Perl regular expressions and have these additional rules:
Maximum length of 128 characters — Regular expressions longer than 128 characters result in a
400 Bad Requeststatus code returned from the server.
Case sensitivity — Regular expression matching is case-insensitive.
Example of a custom filter statement
ga:source is the name of the filter expressed as ga: and the specific dimension you want to filter by (in this case source), the operator is how you want the dimension to be compared (
==means Equals), and finally
When applied to a Google Analytics widget (such as Sessions), this custom filter will include only results where the source is Twitter (and results from any other source will be filtered out). In other words, only sessions that had Twitter as source.
Referring keyword is ‘geckoboard’
Title of page is ‘Contact’ (exact match)
URL of page contains ‘contact’ anywhere
Visitor country is United Kingdom
Combining custom filters
Filters can be combined using
AND boolean logic to create a very specific set of data within a metric.
OR operator is defined using a comma (
,). It takes precedence over the
AND operator and may NOT be used to combine dimensions and metrics in the same expression.
Examples: (each must be URL encoded)
Country is either (United States OR Canada):
Firefox users on (Windows OR Macintosh) operating systems:
AND operator is defined using a semi-colon (
;). It is preceded by the
OR operator and CAN be used to combine dimensions and metrics in the same expression.
Examples: (each must be URL encoded)
Country is United States AND the browser is Firefox:
Operating system is (Windows OR Macintosh) AND browser is (Firefox OR Chrome):
Country is United States AND sessions are greater than 5:
Example of custom filters combined
Country is United Kingdom and City is not London
Show all events with the category DownloadReport or DownloadCaseStudy
Show all events with the category Download but not Label ShareCaseStudy