I've been trying to crack this nut for awhile so any suggestions would be helpful.
I have a business unit of the org that sells travel packages. Right now they track everything in a massive spreadsheet with somewhere in the neighborhood of 50 columns. They're updating this on a rolling basis when people call in to book or cancel the trip. That's all fine for their purposes but I'm trying to get some of this information into Marketo so that we can have informed conversations with folks. Obviously we want to know if someone is booked/cancelled
So, I have programs created for each individual trip. Each program contains Smart Campaigns (SC) that will trigger member adds and status updates based on whether someone is added to that program's "Booked" list or the "Cancelled" list. This is simple, but creates a great deal of work. Think 2 lists per trip @ 20 trips. So 40 list uploads on a weekly (or more frequent) basis. Not ideal for a 2 person team.
So I'm trying to strike a balance here. I need that data, but I also don't expect anyone to upload an absurd number of lists each week. I'm having a hard time thinking of a different solution here.
I've thought about trying to create a Master list for each program which cuts the uploads from 40 to 20. The problem there is that I'd need to rely on a new field status field to properly route the lead through each program which makes me uncomfortable, and we're still talking about 20 lists.
If one master list for each program is the only path forward how likely would it be that we'd run into a race condition?
The process would be:
Upload Master List For Trip X
"Trip Status" field is updated with new value from spreadsheet
SC triggers off that list add with "Trip Status" qualifier and assigns corresponding status
Repeat for each trip (so up to 20 times).
My fear with this Master List approach is that if the DVC for Trip X and the DVC for Trip Y happen out of order during the uploads that a person in both lists could have their data updated out of order and then trigger the wrong SC.
Mary's Trip X Status = Booked
Mary's Trip Y Status = Cancelled
Both imports are started at about the same time with Mary in both lists.
- Mary is added to Trip X List
- Mary is added to Trip Y
- DVC "Trip Status" from Trip Y import happens first
- DVC "Trip Status" from Trip X import happens second
So in this scenario would it be possible that the SC would trigger seeing Mary was added to the Trip X list, but by the time it reads her "Trip Status" field, it has already been overwritten with her Trip Y status? I think the answer is an unfortunate yes.
Any ideas on the best approach? I've considered custom objects but I'm not sure if that's going to make life that much easier.