Complex segments are often necessary to obtain desired data. If complex segments are inefficient and used in a large report suite, reports take considerably longer to run. Consider the following resources when creating or editing a segment to minimize complexity.
The ‘Contains’ operator is one of the most processing-intensive features in segmentation, as it has to analyze the entire contents of every value. Consider using other operators such as ‘Starts with’ or ‘Ends with’ if the desired values are at the beginning or end of a string.
If a ‘Contains’ operator in a segment returns a large number of results, the report typically times out. For example, if you created a segment where
Referrer equals ".", the segment searches through the contents of every value. Consider using the ‘Exists’ operator instead.
If you have many segment conditions, they can quickly degrade segment performance. For example,
Page equals X or Page equals Y or Page equals Z repeated with hundreds of different values. Instead of writing out these hundreds of conditions, classify all desired values into a segment, then use the classified value in a segment.
This method drastically increases performance and provides an easy way to modify segment conditions. Instead of editing the segment with different values, you can add or remove dimension items from the classificiation.