I see what you mean.
As long as the source form includes the filters that you are using on the filter smart list, the trigger will fire correctly, because the necessary information will exist on the record on creation.
You seem to be 100% sure about the speed of dynamic Marketo lists, but are all records constantly being added to and removed from smart lists on creation / update instantaneously?
Is marketo THAT fast? Is it constantly re-evaluating membership for all records on each update?
I didn't want to reveal / bore with the details of the campaign since I also wanted an answer that will help me in the future as well, but in this particular case, upon creation, all information needed for the Trigger and the Smart List is there.
So the setup should be reliable.
but are all records constantly being added to and removed from smart lists on creation / update instantaneously? |
It's not about "adding" or "removing" in any tangible sense. It's about whether queued-up database updates have been committed (you can think of "committed" as meaning "hardened" or "finished" or "made available to other processes") before the same database is searched by another process.
And in this particular case they have. In many other cases, the order of updates and searches is unreliable. This simply isn't one of them.
P.S. There's a fascinating world out there of newfangled database locking and concurrent access methods. These are basic building blocks of systems design studied since the 1960s, but people have gone back to the drawing board recently with the explosion of internet traffic and the need for better and better multi-user performance. Locking is made much more complex w/distributed systems (i.e. more than one server, as any large organization has, and more than one client), and distributed systems may accept being loosely consistent, meaning every server does not have the same data at every point in time. But again: not to worry in this case.