Custom Attributes
Prepare a Custom Attributes CSV for SFTP
Use a Custom Attributes CSV when you want to add extra information about members in Pulsate. These attributes can then be used for segmentation and personalization.
Examples of custom attributes:
- whether a member is enrolled in eStatements;
- how many checking accounts a member has;
- a member's account type;
- the status of a loan application;
- the date a member joined.
This page explains how to prepare the CSV file before you upload it by SFTP.
Quick Checklist
Before uploading, make sure:
- The file is saved as CSV.
- The first row contains the exact required column headers.
- Every row has a member alias.
- Every row has one attribute name, one value, and one value type.
- Attribute names use letters and underscores only.
- Dates use
YYYY-MM-DDformat, for example2026-05-31. - True/false values are written as
trueorfalse. - Numbers do not include currency symbols, percent symbols, or commas.
- Member aliases and product IDs are formatted as text in your spreadsheet, so leading zeroes are not removed.
- Sensitive data is included only if your Pulsate team has confirmed it should be sent.
The Most Important Rule
Each row in the file updates one attribute for one member.
If one member has three attributes, that member appears on three rows.
Example:
| Member alias | Attribute | Value |
|---|---|---|
user123 | account_type | personal |
user123 | enrolled_estatements | true |
user123 | checking_account_count | 2 |
In the CSV file, those become three separate rows with the same alias.
CSV Template
Start with this header row:
alias,n,v,t,source,product_id,category
You can leave source, product_id, and category blank if Pulsate has not asked you to use them.
Example:
alias,n,v,t,source,product_id,category
user123,checking_account_count,2,integer,,,
user123,enrolled_estatements,true,boolean,,,
user123,account_type,personal,string,,,
user124,member_since,2021-09-15,date_ago,,,
user125,auto_loan_status,application_started,string,Loan Origination System,AUTO2024,Auto Loan
user126,auto_loan_status,application_complete,string,Loan Origination System,AUTO2024,Auto Loan
Column Guide
| Column header | Required? | Plain-English name | What to enter |
|---|---|---|---|
alias | Yes | Member ID | The unique member identifier already used for this member in Pulsate. |
n | Yes | Attribute name | The name of the attribute you are adding or updating. Use letters and underscores only. |
v | Yes | Attribute value | The actual value for this member. |
t | Yes | Value type | The type of value you entered in v. Use one of the accepted types below. |
source | No | Data source | Where this data came from, such as Core Banking or Loan Origination System. |
product_id | No | Product ID | A consistent product identifier when the attribute is connected to a product. |
category | No | Product category | A broad product group, such as Auto Loan or Certificate of Deposit. |
Choosing the Right Value Type
The t column tells Pulsate how to read the value in the v column.
Use this type in t | Use it for | Example v value | Notes |
|---|---|---|---|
string | Text, labels, statuses, names, IDs | personal | Use this when the value is not a number, date, or true/false value. |
boolean | Yes/no or true/false fields | true | Only use true or false. Do not use yes, no, 1, or 0. |
integer | Whole numbers | 3 | Use for counts. Do not include decimals. |
numeric | Numbers that can include decimals | 1520.75 | Do not include $, %, or commas. |
date_ago | Dates | 2026-05-31 | Use YYYY-MM-DD format unless Pulsate has specifically asked you to send Unix timestamps. |
Attribute Name Rules
The n column is the attribute name. Use simple, consistent names.
Good names:
| Good attribute name | Why it works |
|---|---|
account_type | Uses lowercase letters and underscores. |
enrolled_estatements | Clear true/false meaning. |
checking_account_count | Clear count meaning. |
auto_loan_status | Clear status meaning. |
Names to avoid:
| Avoid | Use instead | Why |
|---|---|---|
Account Type | account_type | Spaces are not allowed. |
Account-Type | account_type | Hyphens are not allowed. |
Checking Account Count | checking_account_count | Spaces are not allowed. |
auto loan status | auto_loan_status | Use underscores between words. |
Keep the same attribute name every time you send the same kind of data. For example, do not use account_type in one file and acct_type in the next file unless Pulsate has told you to change it.
When to Use the Optional Product Columns
Most files do not need the optional columns. Leave them blank unless your Pulsate team has asked you to use them.
Use source when you want to show where the data came from.
source
Core Banking
Loan Origination System
Use product_id when the attribute belongs to a specific product and that product has a consistent ID across members.
For example, if several members have the same auto loan campaign product, use the same product ID for that product on every matching row:
product_id
AUTO2024
Use category for the broad product group:
category
Auto Loan
Certificate of Deposit
Checking
Spreadsheet Example
Many teams start with a spreadsheet that looks like this:
| alias | checking_account_count | enrolled_estatements | account_type |
|---|---|---|---|
| user123 | 2 | true | personal |
| user124 | 1 | false | business |
Before upload, change it to one row per member attribute:
| alias | n | v | t | source | product_id | category |
|---|---|---|---|---|---|---|
| user123 | checking_account_count | 2 | integer | |||
| user123 | enrolled_estatements | true | boolean | |||
| user123 | account_type | personal | string | |||
| user124 | checking_account_count | 1 | integer | |||
| user124 | enrolled_estatements | false | boolean | |||
| user124 | account_type | business | string |
Then save the spreadsheet as a CSV file.
If you use Excel or Google Sheets, format the alias and product_id columns as text before saving. This prevents the spreadsheet from changing values such as 001234 to 1234.
Common Problems to Check Before Upload
| Problem | Example | How to fix it |
|---|---|---|
| Missing required column | Header row does not include t | Use the exact template header. |
| Spaces in attribute names | account type | Use account_type. |
| Boolean value is not accepted | yes | Use true. |
| Number includes formatting | $1,250.00 | Use 1250.00. |
| Date is unclear | 05/06/26 | Use 2026-06-05. |
| One member has many columns | One row contains all member data | Convert it to one row per attribute. |
| Product ID changes by member | Auto Loan for user123 | Use a consistent product ID for the same product. |
Final Review Before Sending
Open the CSV and check:
- Does the first line match this exactly?
alias,n,v,t,source,product_id,category
- Does each row have only one member attribute?
- Are all required cells filled in?
- Are all
tvalues one ofstring,boolean,integer,numeric, ordate_ago? - Are optional fields blank when they are not needed?
Need Help?
If you are unsure how to format an attribute, send a small sample file to your Pulsate Customer Success Manager or email [[email protected]](mailto:[email protected]) before uploading the full file.
Updated 18 days ago

