# Sending Zaps

At this point your campaign should be set up, the design created and published, and ready for data upload.

## Uploading Data

On the 'campaigns' screen you should see an option to 'Upload CSV to send Zaps'

<figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FxGR1DNgfkKHwScGTtM12%2FCampaign%20data%20upload.png?alt=media&#x26;token=22688b39-0189-4c26-a017-3d57c3d9e601" alt=""><figcaption><p>Upload CSV to send Zaps</p></figcaption></figure>

{% hint style="info" %}
If the upload icon is light grey it likely means you do not have a published design for this campaign
{% endhint %}

Once you have the CSV upload icon, you will be asked to select a send date for your campaign.

<figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FIIu5yEKGU9TZubm6waV9%2FSchedule%20Date.png?alt=media&#x26;token=b41ee3c2-c711-4726-83f0-a063dd0cf570" alt=""><figcaption><p>Send date selection drop down</p></figcaption></figure>

After choosing your send date, you will be asked to select a CSV. This will then go through validation; this includes checking header names, missing columns, missing mandatory data, etc. You will either receive a confirmation or failure to upload.

{% hint style="info" %}
Any blank rows in your CSV will automatically be removed upon upload.

We only allow certain characters into the name and address fields. We will attempt to clean up data that does not meet the character expectations. Accented characters will be replaced by non-accented equivalents and certain UTF-8 representations of MS ANSI characters will be replaced by equivalents. All other characters will be stripped before ingestion into our system.
{% endhint %}

### Field Mapping

<figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2F3PGOqtumtRjuWqxNXtN2%2FFM%201.png?alt=media&#x26;token=9b9ad8f2-c580-42dd-9f1b-978acc07ecdf" alt=""><figcaption><p>Field Mapping</p></figcaption></figure>

When initially viewing field mapping, the ZAP APP will try to automatically map fields it can identify irrelevant of casing. For example, the template header expects to see Firstname, as the CSV header is First Name it is automatically mapped.

For any fields that cannot be automatically mapped, you will be able to select the drop down under 'CSV Headers' to choose with field the ZAP APP should get the data from.

<figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FSDWU7apFo5umGiaK7z8f%2FFM%202.png?alt=media&#x26;token=ff42a4c7-c7e2-4b9d-8a46-7367f72d0afd" alt=""><figcaption><p>Field Mapping</p></figcaption></figure>

You will not be able to confirm your changes until, as a minimum, all mandatory fields are mapped.

<figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FFzVYuh8A8R5L1x98GyP7%2FFm%203.png?alt=media&#x26;token=1961648d-2a95-47b6-aca3-fd86ef80b736" alt=""><figcaption><p>Field Mapping Confirmation</p></figcaption></figure>

Upon clicking confirm, the ZAP APP will continue validation, checking missing mandatory data and any validation requirements.&#x20;

You will either receive a confirmation or failure to upload.

<div><figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FM0oUiYj6vMmlB3aCMYo4%2FUpload%20Data.png?alt=media&#x26;token=3332f925-a007-48af-a4ba-16d5f80514d0" alt=""><figcaption><p>CSV Selection</p></figcaption></figure> <figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FVaX1u4kxfbd8MBx131w9%2FFix%20Records.png?alt=media&#x26;token=798de7b6-b8e3-4f8f-a832-af7d21e02507" alt=""><figcaption><p>Upload Failure</p></figcaption></figure> <figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FosChZKrsQ1y2ejjiLm3g%2FSuccessful%20Upload.png?alt=media&#x26;token=738226cc-d657-4813-a9d4-074a5a338e8d" alt=""><figcaption><p>Successful Upload</p></figcaption></figure></div>

## Data Upload (Failure)

If the ZAP-APP fails to upload the CSV, you will be given two options: \
\
1\. Ignore and continue - this will process the CSV, ignoring any failed records.\
2\. Download and fix records - this will automatically download a failure report, highlighting which records failed and why.

{% hint style="info" %}
It is not recommended to choose 'Ignore and continue'
{% endhint %}

<figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FdrzKzMHq5915YiigaiHc%2FError%20Example.png?alt=media&#x26;token=4730f22c-2899-4faf-bdd6-831149e439c7" alt=""><figcaption><p>Example of Failed Records</p></figcaption></figure>

After you have corrected or removed any failed records, you can upload the file again from the campaigns page.

## Null Handling

If you find yourself wishing for Null to appear on one of more of your records due to being a Street Name or even a Surname, then The ZAP APP can handle 'Null' entries when it comes to CSV uploads.

After uploading a CSV if the ZAP APP identifies a 'Null' record then it will be highlighted after the field mapping process.

<figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FSZHMGpwESF7NGykjaZfm%2FNull%20handling%20slide%20out.png?alt=media&#x26;token=901f0fa6-1d9f-48f9-a22d-dc0b278f9a90" alt=""><figcaption><p>Null Handling</p></figcaption></figure>

## Data Upload (Success)

Once your CSV has uploaded successfully, you will see a confirmation of upload. Upon clicking the 'Next' link in the bottom right, you will be shown a 'Campaign confirmation'.

This will confirm:\
\
\&#xNAN;**- Number of Zaps**\
**- Campaign Name**\
**- Date of Send**\
**- Estimated Arrival**\
**- Zaps Used** (out of the total remaining on your account)

Clicking the 'Confirm' link will save your data and campaign.<br>

<div><figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FUpSpT8aenCjayqxHfada%2FSuccessful%20Upload.png?alt=media&#x26;token=cb1a9ccb-5c3c-4cad-b7c9-9e1a1a12194f" alt=""><figcaption><p>Successful Upload</p></figcaption></figure> <figure><img src="https://1277613767-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyQKiT3JcaHMDXjtrjvBz%2Fuploads%2FvsBu2aADKa7vnq3QUDJa%2FUIpload%20Confirmation.png?alt=media&#x26;token=17d6243d-3691-46d4-9fe6-473961ca7c69" alt=""><figcaption><p>Campaign Confirmation</p></figcaption></figure></div>

## Uploading Data using an Integration

Various integrations are available to connect your data directly with ZAP-POST, these include:

* Klaviyo
* Hubspot
* DotDigital
* Patchworks

For detailed information on our integrations, see our [Integration Documentation](https://integrations.zappost.com/)
