1

I created a journey with recurring scheduling and data extension. I want to display a certain In-App message when a new customer is inserted in a table, but the customer can see the message up to 7 days after the journey sent the message, for law reasons.

The parameter of schedule is:

  • Repeat = daily
  • End = never
  • Evaluate new records only = true

For example,

John was inserted into the tb_high_score table on Mar 15th and the journey sent the In-App message Promotion A to John on Mar 15th. If John opens the app by Mar 22nd, he will be able to see the message Promotion A, after Mar 22nd, he will no longer be able to see the message.

My idea was to return false in the override fun shouldShowMessage(message: InAppMessage) method, according to InAppMessage.startDateUtc, for expired messages. However, Salesforce Support informed me that startDateUtc is based on the time the message was originally started and not the time the journey sent the message. Therefore, I will always receive the same startDateUtc.

override fun shouldShowMessage(message: InAppMessage): Boolean {
    return !isMessageExpired(message)
}

private fun isMessageExpired(message: InAppMessage) {
    val today = Calendar.getInstance()
    val dueDate = Calendar.getInstance().apply {
        time = message.startDateUtc
        add(Calendar.DAY_OF_YEAR, 7)
    }

    today.after(dueDate)
}

The CRM team prefers not to set an end date on the journey, because there are many campaigns with this behaviour and they run all the time.

Please, does anyone know or have another idea for my problem?

2

If I understand the question correctly, you're attempting to: - Limit the lifespan for viewership of an in-app message for 7 days based on the messages arrival time on the device.

This is not currently supported by the Marketing Clouds MobilePush In-App Message platform. It is however, a unique and very interesting use case. My recommendation at this point in time is to submit a feature request, capturing the scenarios you wish the platform to support.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.