Real-World Banking FTP Use Case Credit Card Upgrade Eligibility & Nurture Journey

 

Real-World Banking FTP Use Case

Credit Card Upgrade Eligibility & Nurture Journey

Introduction

In this project, we will build a complete end-to-end Salesforce Marketing Cloud solution that simulates how a real bank identifies customers eligible for a premium credit card upgrade and nurtures them through a personalized email journey.

Unlike basic SFMC demos that simply import data and send an email, this project demonstrates enterprise-grade concepts such as:

  • Enhanced FTP

  • File Drop Automation

  • Import Activities

  • Staging Data Extensions

  • SQL Data Processing

  • Customer Spend Aggregation

  • Eligibility Rules Engine

  • Delta Processing

  • Journey Builder

  • Engagement-Based Decisioning

  • Personalized AMPscript Emails

This architecture is similar to what banks, insurance companies, and financial institutions use in production.


Business Problem

A bank wants to promote its Premium Credit Card.

However, sending upgrade offers to every customer would be ineffective.

The bank wants to identify customers who:

  • Have a strong credit score

  • Spend heavily using their card

  • Are not already premium card holders

  • Have not unsubscribed from marketing communications

Once identified, those customers should enter a nurture journey and receive upgrade communications.


Solution Architecture

Customer.csv
Transactions.csv
CreditScore.csv
Unsubscribe.csv

Enhanced FTP

File Drop Automation

Import Activities

Staging Data Extensions

SQL Processing Layer

Eligibility Engine

Delta Processing

Journey Entry Data Extension

Journey Builder

Personalized Emails

Customer Upgrade Journey


Source Files

1. Customer.csv

Purpose:

Stores customer profile information.

Fields:

  • CustomerID

  • Email

  • FirstName

  • LastName

  • City

  • CurrentCardType

Why?

Customer profile information is required for personalization and eligibility evaluation.




2. Transactions.csv

Purpose:

Stores card spending transactions.

Fields:

  • TransactionID

  • CustomerID

  • Amount

  • TransactionDate

  • MerchantCategory

Why?

Premium card eligibility is partly based on spending behavior.




3. CreditScore.csv

Purpose:

Stores customer creditworthiness.

Fields:

  • CustomerID

  • CreditScore

  • RiskCategory

Why?

Banks use credit scores before offering financial products.




4. Unsubscribe.csv

Purpose:

Stores customers who opted out of marketing.

Fields:

  • EmailAddress

Why?

To avoid sending communications to unsubscribed contacts.




Enhanced FTP Setup

Files are uploaded to Enhanced FTP.

Folder:

Import/SFMCDrops/DailyFTPDrops

Why FTP?

Most enterprise systems exchange data using files.

Examples:

  • Core Banking Systems

  • Credit Bureau Systems

  • Data Warehouses

  • ERP Platforms

FTP remains one of the most common integrations in SFMC.




File Drop Automation

Automation:

AUT_CC_Daily_File_Ingestion

Trigger:

Contains = Customer

Why?

Customer.csv acts as the trigger file.

When Customer.csv arrives:

  • Transactions file already exists

  • Credit Score file already exists

  • Unsubscribe file already exists

This guarantees all required files are available before processing starts.


Staging Layer

Created Data Extensions:

CC_Customer_Profile_Stage

CC_Transaction_Feed_Stage

CC_Credit_Assessment_Stage

CC_Marketing_Suppression_Stage

Why Use Staging?

Benefits:

  • Easier troubleshooting

  • Better data quality

  • Supports enterprise ETL architecture

  • Prevents corruption of final audiences




Import Activities

Created:

IMP_CC_Customer_Profile

IMP_CC_Transaction_Feed

IMP_CC_Credit_Assessment

IMP_CC_Marketing_Suppression

Data Action:

Overwrite

Why Overwrite?

The source files represent the latest snapshot from source systems.

Overwrite ensures:

  • No duplicates

  • Accurate daily state

  • Cleaner processing




SQL Layer

This layer transforms raw data into business intelligence.


SQL 1 – Customer Spend Aggregation

Target DE:

CC_Customer_Spend_Summary

Fields:

  • CustomerID

  • MonthlySpend

  • TransactionCount

  • LastTransactionDate

Query:

SELECT
CustomerID,
SUM(Amount) AS MonthlySpend,
COUNT(TransactionID) AS TransactionCount,
MAX(TransactionDate) AS LastTransactionDate
FROM CC_Transaction_Feed_Stage
GROUP BY CustomerID

Why?

Raw transactions contain multiple rows per customer.

Marketing teams need customer-level insights.

This query converts:

100 transaction rows

into

50 customer summary rows.

Learnings:

  • SUM()

  • COUNT()

  • MAX()

  • GROUP BY






SQL 2 – Eligibility Engine

Target DE:

CC_Upgrade_Eligibility

Purpose:

Identify customers who qualify for an upgrade.

Business Rules:

CreditScore > 750

MonthlySpend > 5000

CurrentCardType <> Platinum

Not Unsubscribed

Query joins:

  • Customer Profile

  • Credit Assessment

  • Spend Summary

  • Suppression File

Why?

The Eligibility Engine was a SQL-based business rules layer that identified customers eligible for a premium credit card upgrade. It combined customer profile, spend summary, credit score, and suppression data and applied rules such as Credit Score > 750, Monthly Spend > 5000, not already a Platinum customer, and not unsubscribed. Only customers meeting all criteria were passed to the next stage of the campaign.

Not every customer should receive an offer.






SQL 3 – Delta Processing

Target DE:

CC_Upgrade_Eligibility_Delta

Purpose:

Identify newly eligible customers only.

Query Logic:

Compare:

CC_Upgrade_Eligibility

against

CC_Upgrade_Eligibility_Master

If CustomerID does not exist in Master:

Send to Delta

Why?

Without Delta Processing:

Same customers would receive the journey every day.

With Delta Processing:

Only newly eligible customers enter.

This is one of the most important enterprise patterns in SFMC.






SQL 4 – Journey Entry DE

Target:

CC_Upgrade_Journey_Entry

Purpose:

Populate the Journey Builder entry source.

Data Action:

Overwrite

Why?

Only current Delta contacts should enter the journey.




SQL 5 – Master Snapshot

Target:

CC_Upgrade_Eligibility_Master

Purpose:

Store latest eligibility snapshot.

Why?

Future Delta comparisons require a historical reference.

Without Master:

Delta processing cannot work.




Automation Flow

AUT_CC_Eligibility_Processing

Step 1

SQL_CC_Customer_Spend_Summary

Step 2

SQL_CC_Upgrade_Eligibility

Step 3

SQL_CC_Upgrade_Eligibility_Delta

Step 4

SQL_CC_Upgrade_Journey_Entry

Step 5

SQL_CC_Upgrade_Eligibility_Master

Why This Order?

Each SQL depends on the previous output.

Changing the order would break the process.




Journey Builder

Journey Name:

JB_Premium_Card_Upgrade_Offer_Journey

Entry Source:

CC_Upgrade_Journey_Entry

Why?

Only newly eligible customers should enter.




Email Strategy

Email 1



Pre-Approved Upgrade Offer

Purpose:

Introduce the premium card.


Wait 3 Days

Purpose:

Allow customers time to engage.


Engagement Split

Condition:

Opened Email 1?

Why?

Behavior should influence future communication.


Opened Path

Email 2



Premium Benefits Reminder

Wait 5 Days

Email 3

Final Upgrade Offer


Not Opened Path

Email 2

Alternative Subject Line

Wait 5 Days

Engagement Split

Opened?

YES

Email 3



NO

Exit Journey

Why?

Stop sending emails to disengaged customers.

This improves deliverability and customer experience.


AMPscript Personalization

Used:

%%FirstName%%

%%CurrentCardType%%

%%CreditScore%%

%%MonthlySpend%%

Examples:

Hello John,

Based on your monthly spend of $8,500 and strong credit profile, you have been identified as eligible for a premium card upgrade.

Why?

Personalized emails generate higher engagement than generic messages.



What I Learned

  • Enhanced FTP

  • File Drop Automations

  • Import Activities

  • Data Extension Design

  • SQL Query Activities

  • Aggregate Functions

  • Business Rule Implementation

  • Delta Processing

  • Journey Builder

  • Engagement Splits

  • AMPscript Personalization

  • Marketing Suppression Logic

  • Enterprise Architecture Patterns


Conclusion

This project demonstrates how Salesforce Marketing Cloud can be used as a complete customer decisioning and engagement platform.

Starting from raw FTP files, we built:

  • Data ingestion

  • Customer analytics

  • Eligibility scoring

  • Delta processing

  • Personalized journeys

  • Engagement-based nurturing

This architecture closely resembles real-world implementations used by banking and financial organizations and provides hands-on experience with several enterprise SFMC concepts.

Comments

Popular posts from this blog

Mastering CASE Statement in Salesforce Marketing Cloud (SFMC SQL)

A/B Testing in Salesforce Marketing Cloud (Step-by-Step Guide)

๐Ÿ“ง Creating & Sending a Test Email in Salesforce Marketing Cloud (SFMC)