Custom tables in Delivra are a flexible way to store and manage additional data beyond what’s available in standard contact records. Whether you're tracking multiple transactions per contact, managing complex relationships between data sets, or simply need more storage, custom tables give you the structure to organize your data for better segmentation, automation, and personalization.
What Are Custom Tables?
A custom table is a data structure with fixed columns and virtually unlimited rows. Each row is a record with a unique identifier called a key. These keys allow you to link related data across multiple tables, establishing relationships between them.
In Delivra, contact data lives in a standard table by default. Custom tables extend this functionality to support a wide range of use cases—such as storing multiple records for a single contact or linking external data that isn’t stored in the contact profile.
Custom tables are available depending on your Delivra license. Visit our pricing page or contact your Client Success Manager for details.
Use Cases for Custom Tables
Here are common ways customers use custom tables:
More contact fields: Add extra fields (e.g. multiple dates) to support more advanced segmentation and automation.
Multiple records per contact: Track purchases, events, or service requests tied to a single email address.
Shared records across contacts: Assign records (like properties or events) to multiple contacts.
Relational data management: Merge external data (like operating hours or product info) with contact profiles via structured relationships.
Table Relationships Supported
Delivra supports a variety of table relationships:
One-to-One: One record in each table. Use when you need more fields for each contact.
One-to-Many: Multiple records relate to a single key, such as an account with multiple transactions. The key is not an email address but something unique like an order ID.
Global: primary keys must be unique across all contacts. If a key already exists, the record is updated or reassigned to the new contact, removing it from the original.
Contact: primary keys are unique per contact, so multiple contacts can have records with the same key—like a “Course Title” in a completed courses table.
Many-to-One / Many-to-Many: Complex data relationships where multiple records in one table relate to multiple records in another. A joining or "junction" table is used behind the scenes to map these relationships.
The option to create relational tables used for many-to-many setups is not visible in the Delivra platform as they require setup by our Engineering team. Contact our Support team at support@delivra.com if you are interested in Many-to-Many tables.
Creating a Custom Table
If you are a Site Administrator, you can create a custom table by:
Going to Settings > Data Setup > Custom Tables
Clicking Create Custom Table
Choosing between a standard template or creating a custom one
Selecting your table relationship (1:1 or 1:Many (Global) or 1:Many (Contact))
Adding fields manually or uploading a CSV with headers
Defining your primary key (e.g. Order Number)
Saving the table (fields cannot be edited afterward, but new ones can be added)
We recommend consulting with your Client Success Manager before setting up a custom table.
Importing Data to a Custom Table
Manual CSV imports are the most common method. From the Contacts dashboard:
Click Import Data and upload your file
Match fields in your CSV to fields in the table
Choose import settings (category assignment, notifications, etc.)
Click Import
Note: Manual import isn't available for all custom tables, especially those connected to integrations.
Forms: Forms support 1:1 relationship tables. Add custom fields from the form builder.
Campaigns: If you're using custom table fields as merge tags, ensure the table is included in the segment used. Otherwise, you'll see an error.
Segmentation: Custom table fields can be used in segment clauses, including “is NOT NULL” checks to confirm data presence.
Personalization: Use merge tags from custom tables in your emails for more tailored messages. You can even format date fields using special merge syntax.
Managing Custom Table Fields
You can edit fields to rename them, hide them, assign default values, or create picklists to ensure data consistency. However, field types cannot be changed after creation.
To hide or rename a field:
Navigate to the table
Hover over the field and click Edit
Use options like "Hide field" or update the "Field Alias"
Common Issues & FAQs
Preview shows incorrect data: Preview mode will always pulls a contact's first record in their custom table. Use the Test step to validate dynamic content.
Custom table tag errors: Campaigns that use merge tags from a custom table require that all of it's segments be associated to the custom table as well. If you receive an error, verify that your segments include a clause referencing the custom table.
No access to custom tables: Check with your administrator or confirm your license includes custom tables.
Can't use in form: Forms only support 1:1 custom tables.
Deleting records: It is not possible to delete records from a custom table at this time. Contact Support if needed—fees may apply.
API & Advanced Use
Custom tables support data integration through CSV import, SFTP, or REST API. Data collected via custom tables can also be pulled and sent to your CRM via REST API. Relational Table endpoints are not available via SOAP API.
For more help or to explore custom table options for your account, reach out to our Support team at
support@delivra.com.