When I helped a client implement SMS messaging in their Marketo instance using Twilio, we leveraged John Mattos’ great blog post about it quite a lot. And along the way, I also learned some things that I thought might be useful to others. Like many of our great Launchpoint partners, Twilio leverages Marketo’s webhooks to engage with the Marketo instance. So this brings up issue #1:
Webhooks Always Require Triggers
First, and this comes up in the comments on John’s blog post but it bears elevating – when calling a webhook in your smart campaign flow, it must be a triggered smart campaign. All Marketo webhooks require triggers. In the case of this client, we use “data value changes,” as we are looking for a specific value to change in order to ask someone to opt in to SMS messages. I've also seen "Campaign is Requested" from a Marketo flow action. When testing, we leveraged the “Add to List” trigger and spent many hours moving our internal guinea pigs onto and off of a static list to trigger the Twilio webhook call that would send the SMS messages we were testing. And speaking of testing:
Use the Activity Log or Smart Campaign Results for Additional Detail If Something Goes Wrong
Occasionally, during testing, the webhook failed (an important reason to test!) – we could see this in the Activity Log for our test leads or in the smart campaign results. Don’t forget to click on that log item to get more information – it almost always tells you everything you need to know to solve the issue. In this case, we didn’t realize one of our test leads had inadvertently opted out during testing – but Twilio knew and prevented the SMS from getting to him, exactly as we would hope it would! Which brings me to the final insight:
Set Up a UAT (User Acceptance Testing) Plan to Test All Possible Outcomes
As noted above, we had a tester opt out of the SMS messaging before we intended him to and had to spend a little time figuring out why his SMS send failed. Take just a few minutes to set up a plan of who will be testing, who will be responding (or not responding) to the SMS message and how, and document what the expected result will be. For example, if they opt in, do they get the expected confirmation message? If someone opts out and then opts back in, what happens and how long does it take to happen? Was the result expected? What if someone responds with an SMS message that isn't in the "Yes" or "No" category (Yes, you will have leads who respond with some colorful language!) All of these things should be tested to ensure the results are as expected. By the time the client and I got to our third phase of SMS messaging, we could count on testing to be both rigorous AND quick because we had it down to a science!