There are a few ways that it may not fire - your experiment is not correctly setup in the UI (ie, you have a rule above it that takes priority), or you have an implementation error, which is typically from either a mis-matched split attribute (eg, in the UI you are splitting by ‘userId’ and in the code you’re setting the attribute ‘user_id’), or the split attribute is not set.