SaaSquatch Help Center

The SaaSquatch portal provides a quick and easy way to bulk upload users into your SaaSquatch project to create or update user information.

🔗 Bulk User Import

Imported new users or update existing users in bulk.

  1. Head to your SaaSquatch account.
  2. In the upper right corner of your SaaSquatch account select either your Live or Test tenant.
  3. Click "Participants" in the upper header of your SaaSquatch account.
  4. Click "Import Users" on the right side of the Participants page.
  5. Select "User" from the Import Type section.
  6. Click "Select & Upload" and choose the file to import.
  7. Click "Start Import" to begin the import.
  8. When the import completes a confirmation email is sent.

Bulk User imports may take up to 30 minutes depending on queue and file size.

🔗 Upload Format & Recommendations

  • SaaSquatch accepts bulk user imports submitted in .csv or .jsonl file formats.
  • Fields are case sensitive.
  • It is recommended that each import does not exceed 500,000 entries.
  • Please reference our sample CSV import file and sample JSONL import file.

🔗 Fields

Bulk user imports support both Standard Fields and Custom fields in the upload file.

🔗 Standard Fields

Standard fields are parsed with the same validation as our Open Endpoint User Upsert API call:

Field Type Description
accountId Required string The unique identifier of the Account that this user belongs to.
id Required string The unique identifier provided for this user.
firstName string The user's first name
lastName string The user's last name
email string The email address for the user.
referable boolean Flag used by the SaaSquatch system to determine whether a user is able to be referred.
Note: Flag must be spelled with only one r for status to be modified successfully.
locale string The user's locale, used for Internationalization. The locale must be of the format language_COUNTRY where the language code must be lowercase and the country code must be uppercase. The separator must be an underscore.
countryCode string The user's locale, used for Internationalization. The user's country code (e.g CA)
referredBy.code string The referral code of the Referrer who referred this user.
referralCodes.{programId} string The vanity referral code for this user to share for the specified program (automatically generated if not included)
sharelinks.{programId} string The vanity sharelink for this user to share for the specified program (automatically generated if not included)
dateCreated string The user's creation date
imageUrl string Optionally used in widgets, emails, and themes. If you provide a absolute profile image URL the minimum image size is 80px x 80px.
dateUsTaxFormSubmitted integer The date that a user's W-9 Tax Form was marked as collected. Used for W-9 Compliance on your tenant, if configured
customFields.{fieldName} string Use this structure to include a custom field of your choosing
paymentProviderId string The paymentProviderId is either the Stripe Customer ID or the Recurly Account ID.
Note: This field cannot be updated. Do not include this arguement on an API-only program, or unless looking to set it.
Classic only Note: Only used by classic referral programs.
referralCode string The referral code used for sharing by this user
Classic only Note: Only used by classic referral programs.
referredBy.isConverted string The referral status of the Referred User.
Classic only Note: Only used by classic referral programs.

🔗 Custom Fields

Custom user fields allow for data unique to your participants. Add a custom fields to the column header in this format: customFields.yourCustomFieldName

Growth Automation programs allow for triggering goals based on custom user fields.

Example: The Birthday Program allows for a user's birthdate to trigger a goal. First, upload the participant's birthday in --MM-DD format in the customFields.birthday field. Then set the goal to convert on or around their birthday.

Example: Reward participants when they renew their subscription membership. First, include the custom field customFields.subscriptionPaid with the value of yes. Then, set the goal to convert when when customFields.subscriptionPaid is equal to yes.

Note: Custom fields are not able to accept array or object values.

🔗 User Segments

You can include or remove participants from a specific user segment. during the bulk user upload process.

  1. Head to your SaaSquatch account.
  2. In the upper right corner of your SaaSquatch account select either your Live or Test tenant.
  3. Click "Participants" in the upper header of your SaaSquatch account.
  4. Click "Import Users" on the right side of the Participants page.
  5. Select "User" from the Import Type section.
  6. Click "Select & Upload" and choose the file to import.
  7. Select a segment from the dropdown list below "Select & Upload".
  8. Click "Start Import" to begin the import.
  9. When the import completes a confirmation email is sent.

Note: When a segment is selected all participants uploaded at that time will be added to or removed from the selected segment.

🔗 Results

When your upload completes you will receive an email notifying you of the result.

You can download import results from the Import and Export Jobs page within the Reporting section.

Please Note: Download links will expire after 30 days.

🔗 Successful Upload

If the import completes successfully, a file with the user information of those that were successfully imported will be generated and emailed to you.

The user information that is included in these results is the same as is found in our User Details Report.

🔗 Errors

If any non-fatal errors are encountered during the import, then a second results file will also be generated (in addition to the file with the successfully uploaded records). The errors file includes entries for each error that occurred, including the row number of the record (from the initial import file) that failed, and any associated error messages:

recordNumber message apiErrorCode statusCode
2 This request requires a valid non-empty id BAD_REQUEST 400

In the unlikely event that a fatal system error occurs and the import is interrupted, then the import will appear as aborted and will not recover. Please our Success Team for further assistance.