# Create Bulk Cash Rewards with Advocate

While many rewards are triggered automatically by program rules (like a referral conversion), you may sometimes need to reward participants for manual or offline actions—such as completing a survey or winning a contest.

The **Bulk Rewards** import tool allows you to issue cash, points, or gift cards to multiple advocates at once by uploading a CSV file. This feature includes a dry run safety mechanism to ensure your data is correct before any funds are disbursed.

### Prepare Your Import File

{% hint style="success" %}
**Note**: If you make use of the global import settings, then you’d only need to submit a `userId` list.
{% endhint %}

To begin, you will need a CSV or JSONL file containing the list of users you wish to reward.

* **Required Columns**: Your file must minimally include `userId` to identify the user.
* **Optional Columns**: You can include reward details (e.g., amount, unit, type) in the file. Alternatively, we recommend setting these as *global defaults* in the platform during the import process to simplify your file.

#### File Columns Reference

<table data-header-hidden><thead><tr><th width="297.484375">Column</th><th>Description</th><th>Requirement</th></tr></thead><tbody><tr><td><code>userId</code></td><td>The unique ID of the user.</td><td><mark style="color:$danger;">Required</mark></td></tr><tr><td><code>assignedCreditInCurrencyBaseUnit</code></td><td>The amount to be rewarded (e.g., 50).</td><td>Conditional<br>(Not required if a global default is set)</td></tr><tr><td><code>rewardUnit</code></td><td>The unit of the reward (e.g., USD, POINTS).</td><td>Conditional<br>(Not required if a global default is set)</td></tr><tr><td><code>globalRewardKey</code></td><td>The key of a pre-configured reward to give.</td><td><p>Conditional<br>(Not required if a global default is set)</p><p><br></p></td></tr><tr><td><code>discountPercent</code></td><td>The amount to be rewarded as a discount</td><td>Conditional<br>(Not required if a global default is set)</td></tr><tr><td><code>dateScheduledFor</code></td><td>Pend the reward until this date.</td><td>Optional</td></tr><tr><td><code>uniqueId</code></td><td>A unique identifier for the transaction.</td><td><mark style="color:$success;">Recommended</mark><br>Used as a safety key to prevent duplicate rewards if the file is re-run.</td></tr><tr><td><code>customerNote</code></td><td>Add a note that will be visible to the customer.</td><td>Optional</td></tr><tr><td><code>internalNote</code></td><td>Add a note for internal use that the customer won’t be able to see.</td><td>Optional</td></tr></tbody></table>

{% stepper %}
{% step %}

### Configure Import Settings

1. In the left navigation menu, select ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-230534471fef5f40808e921e41ee44e4a06ded03%2Fe6cb9548999afdc1ed3ce4942e4cb5b45b5cecbd323267aac2a7cd1915fccc09.svg?alt=media) **\[Engage] → Reporting → Imports & Exports**.
2. In the top-right corner, select **Import**.
3. Under *Import type*, select **Rewards**.

<div data-with-frame="true"><figure><img src="https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2FJZUEnGwGzclqEoxytkpg%2Fimage1.jpg?alt=media&#x26;token=2411fab1-369d-41ac-8061-7cd222024542" alt=""><figcaption></figcaption></figure></div>

#### Set Pre-set Values (Global Defaults)

To save time and reduce errors in your CSV file, you can define Pre-set values that apply to every row in your import.

* **Reward**: Choose a pre-configured reward or specify a manual unit (e.g., "Cash/USD").
* **Program**: Associate these rewards with a specific program for reporting purposes.
* **Reward Pending Duration**: ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-d0b6669ae76a7bef06a8d6940d7ad5c16bb8d018%2F7cb018d4face8d7cceb880eb5086c812e764fbcfe6f2a0377f88bc7576973070.svg?alt=media) **\[Toggle on]** to add a safety buffer (e.g., 30 days) before the reward is available to the user. This allows time for retractions if necessary.

{% hint style="success" %}
**Note**: If you set a value here (e.g., Reward Unit: USD), you do **not** need to include that column in your CSV file.
{% endhint %}
{% endstep %}

{% step %}

### Upload and Dry Run

Because cash rewards are final and cannot be reversed, the system requires a dry run (test import) so you can confidently review the details before processing the rewards.

1. Under the *Upload your import users CSV or JSONL file* select **Choose File**.
2. Select **Run Test Import** to initiate the test state.
3. The system will process the file **without** creating rewards.

<div data-with-frame="true"><figure><img src="https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2F4FJcNAj9poM9VKuQ74dW%2Fimage2.jpg?alt=media&#x26;token=856d4d41-7ca3-47ed-a774-71127c5c0e23" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### Review and Finalize

Once the test run is complete, you will see a status entry in the Imports & Exports list. Emails may be sent as part of the review process (gift cards, payout configuration, etc.).

1. **Review**: If there are errors (indicated with ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2F42gbg9NHA1obODpwpxh1%2Ficons8-high-importance-16.png?alt=media\&token=80a809ae-ca8e-43d4-af95-a416a44c8ec3) **\[Exclaimation]**), select **Download Error Report** to fix your file and try again. Also, select **Download Report** to get a record of all the rewards that will be created. Whether there is an error or not, it's recommended for reviewing.
2. **Confirm**: If the test is successful (indicated with a ![](https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2FvdMZSNCvTeUSIm6qrJ5o%2Ficons8-check-16.png?alt=media\&token=998fe3ad-c8a2-4dbc-bdc0-8f79e246b314) **\[Checkmark]**), select **Run Import**.
3. A confirmation modal will appear summarizing the total impact (e.g., “By running this import 412 rewards will be created"). Select **Run Import** to confirm and disburse the rewards.

If you decide not to proceed, you can simply cancel the run and then select Discard to delete the test run.

<div data-with-frame="true"><figure><img src="https://4048883401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2FNa7x8cn8GL73umRhPqxk%2Fimage3.jpg?alt=media&#x26;token=232b052b-b167-4613-81d1-581178951f27" alt=""><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}
