Creating complex segments is often necessary to get the exact data you're looking for. When using these complex segments, retrieving data naturally takes longer. These reports can even time out depending on the complexity and amount of data. Consider using the following resources to minimize segment complexity.
The "contains" operator is one of the most intense to process, as it has to analyze the entire contents of every value. If you're looking for all values that start with "Home," either the "starts with" or "contains" operator would definitely work. However, the "starts with" operator would be more efficient since it only looks at the start of each value.
Using a "contains" operator that returns a huge number of results is almost certain to time out many reports. For example, if you create a segment where referrer contains ".", Adobe Analytics searches every referrer value for a period and return all referring traffic. A more efficient way to pull this data would be to use the "exists" operator. The same data is returned, but processes in a much more timely and efficient manner.
If you have many conditions (for example, PageName equals "x" or PageName equals "y" or Pagename equals "z"), these types of segments can quickly degrade segment performance. Instead of writing out dozens or hundreds of conditions, you can classify them and segment off that:
- Create a classification for the variable that you're working with.
- Download the classification template, and open it in Excel.
- Give each value you would like to include in your segment the same value
- Import the spreadsheet back into Adobe Analytics
- Once processed, create a segment based on the classification value assigned.