What is "is not defined" and why wouldn't it be working?

Bronze Contributor
Bronze Contributor

Hi,

I have an extension that doesn't appear to be firing on some events. The extension pushes in the FB pixel some data when the following criteria are met:

variable siteSection = Criteria 1 AND
fbEventType = ViewContent AND
variable subCategory = Criteria 2 AND
variable isAO = Criteria 3

I'm fairly new to Tealium, but I can see that we can't have nested criteria here in the way I would like.
Rules must in groups of AND rules only e.g.

RULE 1  [ this and this and this]  or RULE 2 [ this and this and this ]

rather than us having

RULE 1  [ this ] and RULE 2 [ this ] and RULE 3 [this or this or this ]


Anyway... my issue is that I've seen that while the first 2 criteria are met, it seems that variable subCategory doesn't always exist, nor does variable isAO.

I have tried to specify some criteria stating that ruleset 1 has variable subCategory is defined AND variable subCategory = Criteria 2. (to account for when it IS present and meets the criteria), but I also then need the extension to fire when the variable is not present (as the absense of it, also should trigger the extension). 

And that's where I get stuck. it seems 'is not defined' isn't working. Should I be using 'is not populated'?
In this case, it's not that the variable does/doesn't have values contained, but more it is NOT PRESENT in our utag data layer.

I'm hoping someone can help,

Thanks so much,

Rachael

1 REPLY 1

What is "is not defined" and why wouldn't it be working?

Tealium Employee

When it comes to load rules, we have two options available when multiple rules are being used - "Match All Rules" or "Match Any Rule", meaning "AND" or "OR" respectively.

If you have certain conditions whether the variable is defined or not, I believe the "OR" (Match Any Rule) would be the best approach. You'll then need to craft individual rules that meet each criteria. For example:

RULE 1

var1 IS DEFINED AND var1 EQUALS "hi" AND page_name IS DEFINED AND page_name CONTAINS "home"

OR

var1 is not defined AND page_name IS DEFINED AND page_name CONTAINS "home"

RULE 2

consent IS DEFINED AND consent CONTAINS "c0003:1"

 

Setting these rules to "Match All Rules" would mean that Rule 1 AND Rule 2 must evaluate to TRUE for the tag to fire. Setting these rules to "Match Any Rule" would mean that if Rule 1 is TRUE and Rule 2 is FALSE, the tag will still fire because at least ONE rule was matched. 

If this still is not clear, I think it would be best to submit a request to our support team so they can look at your individual use case and advise on how to configure the rules. 

Jen Kaye
Senior Premium Success Engineer | Tealium, Inc.
Public