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-DD format, for example 2026-05-31.
  • True/false values are written as true or false.
  • 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 aliasAttributeValue
user123account_typepersonal
user123enrolled_estatementstrue
user123checking_account_count2

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 headerRequired?Plain-English nameWhat to enter
aliasYesMember IDThe unique member identifier already used for this member in Pulsate.
nYesAttribute nameThe name of the attribute you are adding or updating. Use letters and underscores only.
vYesAttribute valueThe actual value for this member.
tYesValue typeThe type of value you entered in v. Use one of the accepted types below.
sourceNoData sourceWhere this data came from, such as Core Banking or Loan Origination System.
product_idNoProduct IDA consistent product identifier when the attribute is connected to a product.
categoryNoProduct categoryA 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 tUse it forExample v valueNotes
stringText, labels, statuses, names, IDspersonalUse this when the value is not a number, date, or true/false value.
booleanYes/no or true/false fieldstrueOnly use true or false. Do not use yes, no, 1, or 0.
integerWhole numbers3Use for counts. Do not include decimals.
numericNumbers that can include decimals1520.75Do not include $, %, or commas.
date_agoDates2026-05-31Use 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 nameWhy it works
account_typeUses lowercase letters and underscores.
enrolled_estatementsClear true/false meaning.
checking_account_countClear count meaning.
auto_loan_statusClear status meaning.

Names to avoid:

AvoidUse insteadWhy
Account Typeaccount_typeSpaces are not allowed.
Account-Typeaccount_typeHyphens are not allowed.
Checking Account Countchecking_account_countSpaces are not allowed.
auto loan statusauto_loan_statusUse 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:

aliaschecking_account_countenrolled_estatementsaccount_type
user1232truepersonal
user1241falsebusiness

Before upload, change it to one row per member attribute:

aliasnvtsourceproduct_idcategory
user123checking_account_count2integer
user123enrolled_estatementstrueboolean
user123account_typepersonalstring
user124checking_account_count1integer
user124enrolled_estatementsfalseboolean
user124account_typebusinessstring

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

ProblemExampleHow to fix it
Missing required columnHeader row does not include tUse the exact template header.
Spaces in attribute namesaccount typeUse account_type.
Boolean value is not acceptedyesUse true.
Number includes formatting$1,250.00Use 1250.00.
Date is unclear05/06/26Use 2026-06-05.
One member has many columnsOne row contains all member dataConvert it to one row per attribute.
Product ID changes by memberAuto Loan for user123Use 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 t values one of string, boolean, integer, numeric, or date_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.


What’s Next

Did this page help you?