Skip to main content

I’m trying to set up a Journey Program that sends an annual survey email to the Main Contact for each customer on their contract date anniversary e.g. if they signed up on 1st Jan 2023, they will get an email each year on the 1st Jan.

We capture each customer Contract Date and Main Contact in Gainsight.

I can’t figure out how to set up the journey to be annual and ensure the right participants are pulled in each year if the Main Contact has changed?

Thank you for any suggestions!

Good question, @AliciaAhmedRadarHealthcare 

From a high-level perspective, I’m hoping that you have a Gainsight field that’s identifying the Main Contact, and that field stays updated so that if a Main Contact changes, someone’s process includes the updating of said field in Gainsight.

If that’s true, then in your Program Query, you’ll seek out 

  • The Company with an appropriate anniversary date
  • The Person / Company Person within that Company who is the Main Contact

If you set the query to Add all the participants in the query builder and ensure to include any participant added in the future, you can then set a recurring schedule for the query to run. If you schedule run it every day, then each day the Program should re-query every day for the right Companies (based on the anniversary date) and the right Person within the Company (based on the Main Contact criteria).


Thanks for your reply @matthew_lind !
We have fields to capture who a Main Contact is and the Contract Date.

Is your suggestion to add an ‘Anniversary Date’ and update this each year to be correct e.g this year the anniversary would be 1st Oct 2023 and update it to 1st Oct 2024 next year? Perhaps we do an bulk upload to change the year of all anniversary dates at the start of each year?

I was hoping to avoid having a field that we need to manually and was wondering if it’s possible to use calculated fields or a query to pull participants into the journey on the same day and month each year, based on the day and month of the Contract Date.

 

 


You’ve gasped my idea very well, @AliciaAhmedRadarHealthcare.

One way to introduce automation on the anniversary dates is to use a Rule to update them. In this scenario:

  1. Prepare a list of anniversary Dates, such that they are all within the next 12 months. (If you launch on 1 Oct 2023, then all the anniversary Dates will be between 1 Oct 2023 and 30 Sep 2024).
  2. Load those dates into a new field, perhaps named “Next Anniversary Date”
  3. In your Journey query, you’re looking for Companies where the “Next Anniversary Date = Today (or the Run Date) and the Contacts within those companies.
  4. For example, if it’s currently 10 Oct 2023, your Journey query will run for any customers with a “Next Anniversary Date” of 10 Oct 2023. 

 

Then to keep that date updated:

  1. Separate from your Journey, write a Horizon / Bionic Rule to update the “Next Anniversary Date” when it passes
  2. You could use the Add / Subtract Date formula. Configure it to add one year to the date. I’m attaching a screenshot for inspiration.

     

  3. Schedule that rule to run every day, using a filter to run it against any “Next Anniversary Dates” that are in the past.
  4. Continuing our example, on 11 Oct 2023, your rule will note that the “Next Anniversary Date” of 10 Oct 2023 is in the past. Your rule will update the “Next Anniversary Date” field to 10 Oct 2024.
  5. Be sure to also consider that you’ll need to populate an “Next Anniversary Date” for your new customers too. Some variation on “If there’s no Next Anniversary Date, then use Original Contract Date + 1 year for the Next Anniversary Date”

There are likely other scenarios that will work. I’m hopeful this gives you some inspiration on how you can tackle this and also put some automation in to minimize those manual steps.


The other possible way, probably more simpler but might have some gaps I’m not thinking of, is to

 

  • take your annual/original date and take todays date.
  • in a transform use the function to String.
  • in a second transform strip off the year
  • In your third and last transform see if the remaining string fields match. If so then send.

 

The only real gap I see is the leap year issue. But, that’s an issue no matter which way you go.


Thank you for your suggestions! We’ve been able to use the data transformation to get the day and month customers should be sent the email to pull them into the journey at the right time.

 


Reply