If you have a trait that you think should have a population but does not, it can be due to various issues:
- The signal to the data collection server (DCS) contains a signal's key-value pair that isn't matching to the trait rule expression
- The trait rule contains an 'AND' rule containing two or more signals that cannot both be true
Key-value pairs in the signal don't match the expression
Some signals require a variable prefix with the key, like HTTP header values. HTTP headers do not get sent to our DCSs in the body or URL of the request, but are in the header of the request. When using HTTP headers as signals, use the variable prefix to start your key, so that our system knows to evaluate an HTTP header's information (e.g. the referring URL of the page from which you were at when requesting a page with AAM code in it would have a key named 'h_referrer').
Trait rule contains an 'AND' rule with multiple signals that cannot all be true
On occasion, a trait rule might combine signals requiring multiple signals to qualify for the trait, but the signals could cancel each other out (e.g. a trait expression of ("trait_A" < "3" AND "trait_A" > "3") is mathematically impossible to be true, as is the rule ("trait_A" < "3" AND NOT "trait_A" < "3")).
In any case, you should check your trait expression to ensure that the proper key prefixes are used with certain signals and that multiple trait signals wouldn't cancel each other out in a trait expression that is impossible to be true.
For more information about these topics, see:
Variable prefix requirements - https://marketing.adobe.com/resources/help/en_US/aam/c_pass_in_vars.html