Hi Team ,
Overview :
I’m designing a Marketo program that leverages a custom object tied to CRM Opportunities to automate an annual “Mid-Lease Survey” email. The goal is to collect feedback from customers on how their lease experience is progressing.
Key Logic
Trigger: The program will initiate one year after the lease start date, repeating annually for as long as the lease remains active.
For example, if the lease start date is 20 Jan 2024, the first email would deploy on 20 Jan 2025, the second on 20 Jan 2026, and so on.
Eligibility Filter: Each send will include a check to confirm that the customer still has an active lease. If the lease is no longer active, the record will be excluded from subsequent sends.
Data Handling: The lease start date is stored as a date field in the custom object, allowing accurate anniversary calculations.
Questions :
I’m evaluating two potential approaches for the annual “Mid-Lease Survey” program in Marketo and would like your feedback before I proceed.
In previous campaigns, I’ve used a recurring batch smart campaign that simply collects records from the last 24 hours, waits for a defined period, and then sends the email.
With this method, I can handle the first annual send (e.g., one year after lease start) without any problem.
Challenge: If a lease remains active for multiple years (say, 7 years), I’m unsure how to manage the subsequent annual sends.
I considered an Engagement Program to handle the cadence, but I’m not sure how to align the first cast with the exact anniversary date, or whether Engagement is the right fit.
I’d appreciate your thoughts on whether a recurring batch with smart logic could scale for multiple yearly sends, or if there’s a better alternative.
In this scenario, I need to account for past lease start dates.
Example: A customer with a lease start of 22 Sept 2024 should receive emails on 22 Sept 2025, 22 Sept 2026, and so on—even if the program is set up later.
I’m looking for the best way to identify and send to these contacts each year on their anniversary, ensuring we don’t miss anyone because the program started after their first year.
Could you share your opinion on how best to handle each scenario?
Your feedback will help me choose the right method to move forward confidently.
Regards,
Akshat
Hmm. Your schema really isn’t optimal for such a campaign.
Not a fan of anything that needs to extrapolate anniversaries from a Date/DateTime, as Marketo (outside of Velocity, that is) doesn’t have the ability to roll CO fields forward in time.
I would probably use a webhook-compatible service and a Person field Next Anniversary Date to assist with this. Every day, run everyone with an active Lease and with Next Anniversary Date that’s empty or in the past through the ’hook. The service uses the CRM API to get the value, roll it forward, and return the next anniversary to Marketo. (Note if you were using Marketo Custom Objects you wouldn’t need to call the CRM API, obviously.)