--- title: "Use Array Filters for Event Triggers" slug: "using-array-filters-for-event-triggers" updated: 2026-06-08T20:49:43Z published: 2026-06-08T20:49:43Z canonical: "docs.xtremepush.com/using-array-filters-for-event-triggers" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt > Use this file to discover all available pages before exploring further. # Use Array Filters for Event Triggers Refine your campaign targeting by applying specific filters to event triggers that contain array data. When setting up a campaign trigger in the **Triggers** tab, you can apply specific conditions if the event you are specifying includes an array. This allows you to target users based on the specific contents of that array property. ## Filter Arrays of Objects > [!TIP] > You must have ClickHouse for events enabled to use object array filtering. Contact support to enable this. When the array in your campaign trigger contains objects, you can use the **Contains Object** and **Not Contains Object** operators to filter your campaign trigger. You can combine one or more criteria to define the object you are looking for. Each criteria is specified by either a: - **Property name**, an operator, and a corresponding **Property value**. For example, *Sport***Equals***Tennis* - **Property name** and a boolean condition. For example, *is_cashed_out***Equals***false* ### Example Scenario: Contains Object You want to trigger a campaign for users who have placed a bet on a tennis match with odds greater than 5. The campaign is triggered by a *bet* event, which is recorded each time a user places a bet. The following is an example of the data this event contains: ```json {  "event_name": "bet",  "timestamp": "2025-09-04T09:21:18Z",  "properties": {    "bet_id": "BET-98765",    "stake": 10.00,    "parts": [      {        "sport": "Football",        "market": "Match Winner",        "selection": "Dublin Dynamos",        "odds": 2.5      },      {        "sport": "Tennis",        "market": "Player to Win",        "selection": "A. Player",        "odds": 6.0      }    ]  } } ``` The image below shows how to filter the event trigger to target users who have placed a bet on a tennis match with odds greater than 5. The trigger is set for a *bet* event, and its *parts* property must contain an object where sport equals *Tennis* and odds are greater than *5*. ![Example of](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/b16a64d197a8e82cb604869a6fff0de65b70332a95e5426db256976d2f7be723-Screenshot_2025-09-03_at_11.42.35(1).png?sv=2026-02-06&spr=https&st=2026-11-11T14%3A58%3A54Z&se=2026-11-11T15%3A58%3A54Z&sr=c&sp=r&sig=0IaSrpdjkK121MHb%2Ba%2BVSpXSr4YcC0%2BUsDSp8iFA1Tc%3D) Example of setting a Contains Object filter ### Example Scenario: Not Contains Object You want to send an offer to encourage users who typically place low-value bets to increase their stake amount. The campaign is triggered by a *bet* event, which is recorded each time a user places a bet. The following is an example of the data this event contains: ```json {  "event_name": "bet",  "timestamp": "2025-09-04T09:29:31Z",  "properties": {    "bet_id": "BET-LOW-001",    "parts": [      {        "market": "First Goalscorer",        "selection": "C. Striker",        "stake": 10.00      },      {        "market": "Correct Score",        "selection": "2-1",        "stake": 5.00      }    ]  } } ``` The image below shows how to filter the event trigger to target users who typically place low-value bets. Your trigger condition is set for the *bet* event. This condition filters users who place smaller bets by ensuring the *parts* array does not contain any object with a *stake* property greater than *20*. ![Example of ...](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/3b46f74bba3102e34db857eaaa9888d34448863eecb15a2bcac79eb3061bf161-Screenshot_2025-09-03_at_12.03.58(1).png?sv=2026-02-06&spr=https&st=2026-11-11T14%3A58%3A54Z&se=2026-11-11T15%3A58%3A54Z&sr=c&sp=r&sig=0IaSrpdjkK121MHb%2Ba%2BVSpXSr4YcC0%2BUsDSp8iFA1Tc%3D) Example of setting a Not Contains Object filter ## Filter Arrays of Simple Values Use the following operators when your event property is a simple array of strings or numbers: - **Contains Value** / **Not Contains Value**: Checks if a single, specific value exists (or does not exist) in the array. For example, you can configure a campaign to trigger if the event property *tags***Contains Value***VIP*. - **Contains Any Of** / **Contains None Of**: Checks if any (or none) of the values from a list you provide are present in the array. For example, you can configure a campaign to trigger if the event value *purchased_categories***Contains Any Of** ["Shoes", "Jackets"].