Microsoft Azure Blob Storage
Use GrowthLoop audiences for CSV file exports to Azure Blob Storage.
Connect this destination to export audience membership as a CSV in Azure Blob Storage over SFTP, for use in your downstream tools.
This destination writes to your Azure Blob Storage container and is a good fit when you want to:
- Use a file export in Azure rather than a paid-media or messaging API
- Match contacts on email
This maps to GrowthLoop Audiences and Journeys:
| Use it for | Audiences | Journeys |
|---|---|---|
| Dropping audience CSVs in Azure Blob Storage | ✓ | ✓ |
Do not use the generic SFTP destination for Azure Blob Storage. This destination applies Azure's host and username format.
Prerequisites
Make sure you have:
- An Azure account and a storage account. See Microsoft's create a storage account help.
- SFTP enabled on that storage account.
- A local user with password authentication and permission to write to a home directory or container. GrowthLoop does not use SSH keys for this destination. See Microsoft's SFTP local user help.
Set up Microsoft Azure Blob Storage as a destination
- In GrowthLoop, click the Destinations tab on the left sidebar.
- Click New Destination in the top right corner.
- Search for Azure Blob Storage and click Add Azure Blob Storage.

- Enter the required information, then click Create.

| Field | Description |
|---|---|
| Destination Name | Name this destination in GrowthLoop. Use a name so your team recognizes its purpose, like "Azure Blob Storage". |
| Sync Frequency | Set the default export frequency (for example, daily or weekly). You can override this setting for individual exports. |
| Account | The Azure storage account name only. Do not enter the .blob.core.windows.net host. |
| Username | The local user name only. Do not enter {account}.{user}. GrowthLoop adds the storage account prefix. |
| Password | The password you set on that local user. |
| Prefix for Personalization Fields (optional) | Prefix GrowthLoop adds to personalization fields. The default value is fw. Leave this blank for no prefix. If you set one, it must start with a letter and use up to 5 letters or numbers. |
GrowthLoop validates the connection. Azure Blob Storage then appears in your list of connected destinations.
Export to Microsoft Azure Blob Storage
From within GrowthLoop, export from an audience or from a journey Destination Node. See Export an audience or Build a journey if you need more information on these steps.
After building or selecting an audience, click Export, then search for Azure Blob Storage. In a journey, add a Destination Node under SFTP and select Azure Blob Storage.

Map contact identifiers
On an audience or in a journey Destination Node, map Email address. This field is required.
You can also map additional fields, including custom attributes from the audience or from the journey.
Configure the export
This is where you set the campaign type and schedule for audience exports. On a journey Destination Node, you set timing on the journey canvas.
| Setting | Audience export | Journey Destination Node |
|---|---|---|
| Export Name | Defaults to the audience name. GrowthLoop uses this in the CSV filename. | Required. Enter a name so you can find the export in GrowthLoop and in the filename. |
| Campaign type | Choose a one-time or ongoing export. | The journey schedule controls when the journey runs and contacts are sent to Azure Blob Storage. |
| Schedule | Set frequency, start date, end date, and days of the week for ongoing exports. | Users reach this node when the journey runs. Add a Delay Node or set Criteria Evaluation to control timing. |
| Personalization fields | Optional. GrowthLoop adds these columns to the CSV. | Optional. GrowthLoop adds these columns to the CSV. |
Export behavior
This is what GrowthLoop writes when you export an audience.
| Behavior | What happens |
|---|---|
| What GrowthLoop writes | A CSV over SFTP into the local user's home directory or container. Direction is GrowthLoop → Azure Blob Storage. |
| When it runs | GrowthLoop sends the export as a batch on the next successful run. An export that starts Now runs within about 15 minutes. Journeys send exports on demand when users reach the Destination Node. |
| Host | GrowthLoop connects to {account}.blob.core.windows.net on port 22. |
| Username | GrowthLoop authenticates as {account}.{local user}. |
| Match field | Email address. |
| File format | CSV. |
| Filename | {export name}-{timestamp}.csv, with the export name slugified. |
| One-time exports | GrowthLoop uploads current membership once. |
| Ongoing exports | Each run uploads a new timestamped file. |
| Deletes | GrowthLoop does not delete blobs. |
Confirm the export was successful
When the run finishes, confirm you can use the data in Azure Blob Storage.
- Audience export: Open the Azure portal, go to the storage account, and open the container or home directory you assigned to the local user. Look up the latest
{export name}-{timestamp}.csv. - Journey Destination Node: Open that container or home directory and look up the CSV named after the export.

In GrowthLoop, review counts on the audience Exports tab, or open the Activity tab on the journey Destination Node. See Export an audience or Monitor a journey for more information.
Congrats on successfully exporting to Azure Blob Storage!
Troubleshooting
These are the issues we see most often. You can always email us at [email protected] for help.
| Problem | Cause | Resolution |
|---|---|---|
| Connection fails to validate | SFTP is off, Account includes the host, or Username already includes the account prefix | Enable SFTP on the storage account. Enter the storage account name only and the local user name only |
| Authentication fails | The local user uses an SSH key, or the password is wrong | Create or update the local user with password authentication and paste that password |
| You cannot find the file | You opened a different container than the local user's home | Open the container or directory assigned to that local user |
| The filename does not match the audience name | GrowthLoop slugifies Export Name and appends a timestamp | Search the container for the slugified export name |
| Rows fail to export | Email address is not mapped | Map Email address |
Updated 6 days ago
