My challenge: I've got a form with a checkbox field F, and I want to timestamp each form submission where F is ticked. The challenge is to do so when F is already "True" in the database. That is because afaik neither a form submission with BLANK, nor one with TRUE will trigger a "Data Value Changed" event, and a smart campaign's smart list trigger can also not check for form field values. Therefore, it's currently either timestamping both (= submitted form trigger, and F is TRUE), or timestamping none.
Question: How would you tackle this efficiently? I.e., for a person with F being TRUE in the database, how would you trigger upon a form fill with F again being TRUE and NOT on form fills with F being BLANK?
Solved! Go to Solution.
Thanks for the prompt reply.
And... yes, sorry.. my bad: for different reasons, F is actually implemented as of type string - mimicking boolean behaviour, with the value set true, false... and blank.
Thanks for the link to the code. Looks promising. 🙂
It's even a string. Embrace the age of big data. 🙂 Reason is tied to its legacy CRM implementation, and the field sync. But also to the fact that "" has a meaning - a logical/boolean type would not fit as you pointed out above.
It's even a string. Embrace the age of big data. 🙂
Yes, I was asking about the form input type as opposed to the database type. I assume it's a form Checkbox backed by a database String.
But also to the fact that "" has a meaning - a logical/boolean type would not fit as you pointed out above.
Well, a NULLable SQL BIT/BOOL, which is what Marketo uses under the hood, can represent 3 states (0/1/NULL)! But the problem is you can't always differentiate between 0 and NULL at the application layer in Marketo. The storage layer does distinguish.
Anyway, I can see why you might have a String instead of a Boolean and try to handle validation yourself so it doesn't have unlimited values.