Help Docs Software Give Give Tools Give Imports Import Subscriptions

Import Subscriptions

Give has a built-in ability to import subscriptions from a CSV file. This document will walk you through how to do that.

Preparing the CSV

The Import Subscriptions tool accepts CSV files, and it must be formatted correctly for the import to succeed. You can download a sample file from the import tool to ensure your file has the correct format.

Required Fields

We recommend filling out all columns for the most accurate results, but these fields must be filled at minimum:

  • form_id
  • email
  • donor_id (if they’re an existing donor)
  • period
  • frequency
  • amount
  • status (active, expired, cancelled, suspended, paused, pending)

Data Formatting

Ensure each column’s values are in the correct format.

FieldAcceptable Value Formats
form_idnumber
donor_idnumber or empty
first_nametext
last_nametext or empty
emailvalid email address
periodday, week, quarter, month, year
frequencynumber
installmentsnumber (0 = ongoing)
amountdollar amount with decimals (if currency supports it)
fee_amount_recovereddollar amount with decimals (if currency supports it)
statusactive, expired, cancelled, suspended, paused, pending
modelive, test
transaction_idtext (unique transaction ID provided by your payment gateway)
gateway_idtext (unique ID Give assigns each payment gateway: stripe, stripe_payment_element, paypal-commerce, etc.)
gateway_subscription_idtext (unique subscription ID provided by your payment gateway)
created_atdatetime (ex: 2024-01-10 12:30:00)
renews_atdatetime (ex: 2024-01-10 12:30:00)
currencyvalid currency code (3-letter uppercase currency code like USD, EUR)
Note:
If the Gateway Subscription IDs are not present or incorrect, your subscriptions will not be able to sync with the gateway.

Importing Subscriptions

The Import Subscriptions tool allows you to import subscriptions from any platform into Give. It works by allowing you to map the columns of your CSV file to any Give field, so you can import as much or as little information as you like.

Uploading your CSV file

Ensure your CSV file is formatted correctly, includes the required columns, and uses either comma or tab delimiters before you begin.

  1. In your website admin, navigate to Give > Tools > Import.
  2. Find the Import Subscriptions option, and use the Import Subscriptions button to get started.
  3. Choose your CSV file and upload it to your site.
  4. Select the delimiter used by your CSV file (Comma or Tab).
  5. Choose whether the subscriptions being imported should be marked as Test.
  6. Decide whether to create new WordPress users for any new donors included in your import.
  7. Decide whether to delete the CSV after import (enabled by default).
  8. Specify a number of rows per cycle for batch processing (helpful for large files).
  9. Select Dry Run if you’d like to preview the results of your import without making changes.
  10. Use the Begin Import button to start processing.

Note:
This process requires uploading your CSV to the Media Library for import. The file will be accessible via the web for anyone who knows the URL. It’s important to select the Delete CSV after import option if you do not wish this information to be available to the public.

Mapping Columns to Fields

After the CSV is uploaded, Give attempts to match the column headings to related fields within Give. It’s critical that you check that field mapping meets the following criteria:

  1. The required fields are each mapped to a column.
  2. None of those fields are being mapped from two different columns.
  3. None of those columns on the CSV contain empty rows.

The import will fail or only partially complete if any of these criteria are not met.

What happens behind the scenes here when you click to import: The tool pulls the data into the WordPress database, and any conflict resulting from it trying to pull two things into the same field metadata will result in the tool skipping that donation.

Completing the Import

After you select Begin Import, your import will start to process. Process time depends on how many subscriptions you are importing. On most hosting configurations, it happens quickly. If the process fails at this point, go back to the Upload step and select a smaller number of donations to process in each batch.

Once your import is done processing, you will see a message telling you it is complete. You will see how many rows were processed and how many subscriptions were created so you can confirm the results.

If you need to manually add a subscription that was not imported, check out the article for adding existing subscriptions to Give using Manual Donations.

FAQ

These IDs must be retrieved from the subscription record at your payment gateway (such as in the Stripe dashboard). The location will be different for each payment gateway, and you should use their documentation to learn how to find the Transaction ID and Subscription ID for each subscription you’d like to import. This is not something Give can supply.

Review the steps in this document and ensure that:
1. The file you’re importing is a CSV file.
2. Your CSV includes the required columns, the columns are named correctly, and each column has values.
3. The values in your CSV file are formatted correctly.
4. You checked that the field mapping step meets the 3 criteria for a successful import.

If all else fails, contact our support team for assistance. They’re always happy to help.

Absolutely! As long as either the donor_id or the email in your CSV matches a donor_id or email of a donor in Give, the subscription will be associated with that donor after import. If you supply both a donor_id and an email, the donor_id takes precedence.

That means that if the donor_id matches, but the email doesn’t, the subscription will still be assigned to the donor. If the email matches, but the donor_id doesn’t, the subscription will be assigned to the donor that matches the donor_id, or a new one will be created.

Was this article helpful?