---
title: #1 - Credit card renewals
slug: one-adobe/1-credit-card-renewals
docTags: 
createdAt: 2025-03-15T08:34:30.785Z
---

:::hint{type="info"}
**Focus area**
Adobe Journey Optimizer

**Features**
Audiences, journeys, conditional content, custom actions, Dynamic Media

**Difficulty**
Moderate
:::

::Image[]{src="https://s7g10.scene7.com/is/image/NirmalJoseEMEA001/credit-card-1?$name=Your%20name&wid=2000&hei=2000&qlt=100&fit=constrain" size="50" width="617" height="392" position="center" showCaption="false"}

## Use case description

We've noticed a high percentage of our credit card customers are renewing their expiring cards either very late or after it has already expired. Not only are we missing out on revenue, but it's leading to customer dissatisfaction.&#x20;

You have to create an automated customer journey to inform our customers about their upcoming renewal. If we risking to lose a platinum credit card customer we can use the call center as a last resort.

This is also a great opportunity to upsell regular credit card users to our platinum credit card.

***

## Requirements

- Customers receive an email **3 weeks before** their credit card **expires**
- The email contains **information** about their current credit card and monthly fee
- Customers with regular credit cards see an **option to go to a platinum credit card**
- <font color="#ff6200">**BONUS**</font> Present the **customer's name** on the credit card image
- As long as the customer does not renew, send a **reminder a week after**
- **7 days before** the expiration date the **call center** needs to reach out to customers with platinum credit cards if they still did not renew. Regular credit card customer will receive another reminder email.

***

## Resources

**Credit card image**
This is available in the Asset library. You can find it under `ing > images > Email > email-credit-card`.

**Customer credit card data**
Information about the customer's credit card are stored on the profile. You can find this under `profile > _demopotemea > ING > products > creditCard`.

***

:::ExpandableHeading
### Tip 1 - Getting started

If you find yourself having a hard time getting started there's two great questions to ask yourself. They'll help you start to design a journey.



**How would someone enter this journey?&#x20;**&#xA;*There's four common ways for a profile to enter a journey*

1. ***Real-time event*****
   *Any event (action) a profile takes can be used to start or continue a journey in real-time.*
2. ***Audience qualification*****
   *When someone enters or leaves an audience this can be used to trigger a journey.&#x20;*
3. ***Read audience*****
   *This allows you to start the journey from a bulk selection from an audience. It takes all profiles that are currently qualified for the audience.*
4. ***Business event*****
   *In cases where a non-profile specific event affects one or multiple profiles you can trigger a journey for every profile affected.*
   *(for example "A flight being delayed")&#x20;*



**What components do I need to create the journey?**
*Open a notepad and visualize what components you'll need to have to be able to create the journey. In this case:*

- An audience of people that are nearing their credit card expiration date
- Information on the customer's credit card (don't worry, this is available on profile)
- Conditional content for regular credit card users
- An email template
- A custom action to send customer information to the call center



Next, start by creating a journey try putting all activities on the canvas in a chronological order.
:::

:::ExpandableHeading
### Tip 2 - Building the journey

When building a journey it's important to be concious about how customers flow through the journey. Journeys in Adobe Journey Optimizer are per profile, instead of as a group like in most traditional marketing automation systems. This means that every profile runs though the journey alone and therefore every action on the canvas will be considering the individual rather than the mass.

In the past you likely selected a group of customers, then split this group based on some condition, excluded a few and then send an email to the remaining customers. In Adobe Journey Optimizer you'll instead build your journey asking yourself "If a customer does \[something], I want them to \[next step]". It might not sound like a big difference, but just imagine yourself how a "Wait"-activity would work in both of these scenarios.

So based on this change in perspective, how would your journey look?

1. **If a customer \[has a credit card that expires soon] I want them to \[receive an email]**
   We know a customer has an expiring credit card if they enter the audience "Customers with a credit card that expires in 3 weeks". This means we can start the journey with an **Audience Qualification** for this audience and follow it with an **Email**-activity.
2. **If the customer \[does not renew] I want them to \[receive a reminder after a week]**
   After the initial email we'll need to wait a week. You can use a **Wait**-activity for this. Then we'll need to check if this person has renewed or not. There is two ways that we can achieve this:

   **- Condition**
   In a condition activity we can check if the customer is still part of the audience "Customers with a credit card that expires in 3 weeks", because if they are that means they still didn't renew!

   **- Exit criteria**
   The better solution might be to use an exit criteria as renewing your credit card would disqualify you from receiving any further communication from this journey. You can set up an exit criteria for when people leave(exit) an audience.
3. **If the customer \[still does not renew] I want them \[to be contacted again after a week].**
   We can use another **Wait**-activity for 7 days. Since we used the Exit criteria in the previous step, we already know that the person still did not renew their credit card.
4. **If the customer \[has a platinum credit card] I want them \[to be called by the call center], otherwise I want them \[to receive an email].**
   We need to split our journey here as we want to do different things based on the individual customer's situation. We can use the **Condition**-activity to see what type of credit card they have.&#x20;
   **
   *When creating the expression for your condition you can find this profile attribute under ExperiencePlatform > \_demopotemea > ING > Products > Credit card > Type.*
:::

:::ExpandableHeading
### Tip 3 - Building the email

There's templates and fragments available so you can quickly get a nice-looking email design. To add personlization to your email, you can use the :FontAwesome[]{icon="fa-solid fa-image-portrait"}**-icon** in the pop-up toolbar that shows when you're editing text.&#x20;

If you're looking for the credit card information to show in your email, navigate to Profile attributes > \_demopotemea > ING > Products > Credit card
:::

:::ExpandableHeading
### Tip 4 - Showing the customer name on the credit card

The provided credit card image (in ING > Images > Email) is a **Dynamic Media Template**. This is an image that has parameters that allow you to modify the image.

Adobe Journey Optimizer's email designer recognizes Dynamic Media Templates and will adept the interface to allow easy input of the parameters.

Try adding the image, you'll notice the right-hand menu will list all **parameters** for the image. Using the :FontAwesome[]{icon="fa-solid fa-user"}**-icon** you can now personalize the parameter with the cardholder name!

![](https://api.archbee.com/api/optimize/dbeKUZjDrzT2_E01NuH_J-SA-wiMoTW1xsQk1MRT6Mk-20250319-173659.png)
:::

::::ExpandableHeading
### Tip 5 - Requesting call center follow-up

In Adobe Journey Optimizer you can create custom (API) connections to external systems, these are called **Custom actions**. You can use these Custom actions in your journeys to call the external system to send and receive information in real-time! Some examples include:

- Displaying a personalized message on an ATM
- Requesting message content from an external system, like Bloomreach
- Sending follow-up requests to the call center


Once a Custom action is configured it'll become available as an activity in your journeys in the actions-tab. For this exercise we've already configured a Custom action called **callCenterFollowup**. Obviously we don't have an actual call center available for the Hands-on Lab, that's why this Custom action will write it's responses to a Webhook. On [this website](https://webhook.site/#!/view/34d25231-33ef-431e-a344-47bb24df80c6/f17a554b-d7bb-4d20-abcf-c4b2a53bac1f/1) you'll be able to see all API calls made by custom actions during the Hands-on Lab.

:::CtaButton{label="Open Webhook.site" externalHref="https://webhook.site/#!/view/34d25231-33ef-431e-a344-47bb24df80c6/f17a554b-d7bb-4d20-abcf-c4b2a53bac1f/1" openInNewTab="true"}

:::
::::

***

::::ExpandableHeading
## Solution

The resulting journey should look something like the image below.

![](https://api.archbee.com/api/optimize/dbeKUZjDrzT2_E01NuH_J-QmJymb4jRu1mr6QBCYS-F-20250320-102048.png)

There's many ways you can build a journey like this. For example you could use fixed waiting periods of 7 days or you can calculate the wait time based on the actual expiration date of the credit card. Especially in cases where you use **send time optimization** you'll probably want to use calculated wait times as there will be a variance in the time that customer will receive the email, making the wait time not exactly 7 days!

You can now run this journey in **test mode** to receive the emails and (if your test profile has a platinum card) send a follow-up request to the call center!

An example of this journey is available, called **\[Example] Credit card renewal**.

:::CtaButton{label="See example journey" externalHref="https://experience.adobe.com/#/@demopotemea/sname:sandbox06/journey-optimizer/journeys/journey/591bce5f-8084-45cd-a558-4f29bcb70c0b" openInNewTab="true"}

:::
::::

