Knowledge Base/Quirks "Does Not Exist" Condition in Signals Definitions for Missing or Empty Values

Quirks "Does Not Exist" Condition in Signals Definitions for Missing or Empty Values

known issueDeveloperPersonalization

Overview

When configuring Signals, you can use the “Does not exist” condition for your Quirks. There are best practices how to use this condition to achieve the desired result.

The “Does not exist” condition will not match the options below

  • Empty strings ('')
  • Missing or unset values
  • Zero values (0)
  • False boolean values (false)

Solutions

Solution 1: Use Explicit Placeholder Values

Use explicit string values to represent unknown or missing data when settings Quirks in the code

await context.update({ quirks: { // ❌ Incorrect - This may result in empty string value // null or undefined won't be accepted as a quirk value type city = geoIPData?.city, region = geoIPData?.region. // ✅ Correct - Use explicit placeholder values city: geoIPData?.city || 'unknown', region: geoIPData?.region || 'unknown', }, });

Now check for these specific values in your signal:

  • Use "equals" condition with string value unknown
  • Use "not equals" condition to exclude unknown values

Solution 2: Check for Empty Strings with RegEx

If you need to detect empty strings, use a RegEx match condition:

RegEx Pattern: ^$

This pattern matches empty strings specifically, but this will not match for a missing value.

Solution 3: Combined Approach

For comprehensive coverage, combine both solutions:

  1. Primary condition: Check for your placeholder value (e.g., unknown)
  2. Secondary condition: Use RegEx ^$ to catch empty strings
  3. Combine with OR logic to handle both scenarios

Published: November 20, 2025