Audience Builder

Audiences specified by a boolean query matching data in your identity graph

Query audiences are specified by an expression that selects identity clusters given a boolean predicate. The boolean predicate is an expression that can include rules regarding memberships in audiences, matches to trait values, and associations with sources.

Once data is loaded into your DCN, you can build audiences using query expressions to select identity clusters based on advanced criteria, such as data source association and trait values. These audiences can be used in clean rooms, exports to your DSPs, DMPs or storage buckets and real time targeting via the Optable SDKs.

For example, one could define a query audience that semantically represents identity clusters that are members of audience #8 and include data from source #2.

Expressions can reference the following entities, also known as literals:

  • sources: indicate if the identity cluster contains data from a given source

  • traits: operators on cluster traits key and value

  • matches: indicate if the identity cluster is member of a given match operation

  • prospectings: allows you to build an audience from a prospecting model result.

Expressions combine literals (and sub-expressions) with the following boolean operators:

  • and: combines sub-expressions with the boolean "and", also known as logical conjunction.

  • or: combines sub-expressions with the boolean "or", also known as logical disjunction.

  • not: negates an expression with the boolean "not", also known as logical negation.

Note that query audiences have the following limitations:

  • They cannot reference other query audiences, only sources and matched audiences.

  • The expression can reference a maximum of 32 literals. This limits the depth and number of nodes in the query and ensures reasonable execution time.

Creating a Query Audience

To create a query audience, you need a name and a query expression. You can create the audience from the DCN UI or by using the CLI and the audience create sub-command.

For example:

$ optable-cli audience create "My Query Audience" \
              '(or (audience 52) (source 2) (trait-eq "gender" "male"))'

Audience Query Language

The expression is an S-expression. The supported operands are:

  • or specifies a logical OR between sub-expressions

  • and specifies a logical AND between sub-expressions

  • audience is followed by one argument, the integer ID of a matched audience, and specifies membership to a matched audience

  • source is followed by one argument, the integer ID of a source, and specifies a match on a source tag

  • trait-eq is followed by two arguments, a string key and a string value, and specifies an equality match on a trait key value associated with identity clusters.

  • trait-ne is followed by two arguments, a string key and a string value, and specifies an inequality match on a trait key value associated with identity clusters.

  • trait-contains is followed by two arguments, a string key and a string value, and specifies a case-sensitive substring match on a trait key value associated with identity clusters.

  • trait-ci-contains is followed by two arguments, a string key and a string value, and specifies a case-insensitive substring match on a trait key value associated with identity clusters.

  • trait-regex is followed by two arguments, a string key and a regular expression, and specifies a regular expression match on a trait key value associated with identity clusters.

  • trait-gt is followed by two arguments, a string key and a string value, and specifies a greater-than match on a trait key value associated with identity clusters.

  • trait-gte is followed by two arguments, a string key and a string value, and specifies a greater-than-or-equal match on a trait key value associated with identity clusters.

  • trait-lt is followed by two arguments, a string key and a string value, and specifies a less-than match on a trait key value associated with identity clusters.

  • trait-lte is followed by two arguments, a string key and a string value, and specifies a less-than-or-equal match on a trait key value associated with identity clusters.

Note that only a subset of expressions can be rendered in the DCN's query audience editor UI. If the expression of a query audience created with the CLI does not match what the audience editor UI expects, the a read-only JSON representation of the expression will be shown in the UI.

The audience query expression is also parsed into a JSON representation which is returned by the audience API and when running optable-cli audience get or optable-cli audience list CLI commands.

Last updated