Back to eSputnik in Google Sheets
SheetXAI logo
eSputnik logo
eSputnik · Google Sheets Guide

Upload Bulk Promo Codes From a Sheet Into eSputnik

2026-05-13
4 min read
See the Excel version →

The Scenario

You are a promotions manager. Your team generated 5,000 unique single-use promo codes for a winter sale campaign, each one a 20%-off code expiring on 31 December. The codes are in a Google Sheet, one per row in column A.

eSputnik needs all 5,000 codes uploaded before the campaign builder can assign one unique code per recipient. The campaign sends in 48 hours.

The slow version of this task:

  • You open eSputnik and look for the promo code upload interface
  • You find it, but the upload form expects a specific CSV format with a header row named exactly "code"
  • You go back to the sheet, add the header, export as CSV
  • The upload runs but eSputnik reports 43 failures with a cryptic "invalid format" error and no row references
  • You download the error report, cross-reference against the sheet manually, find the 43 codes that had leading spaces
  • You fix them, re-export the subset, re-upload
  • The campaign builder is waiting on you and the campaign manager is sending Slack messages.

The fast version is one prompt.

The Easy Way: One Prompt in SheetXAI

SheetXAI reads the sheet and calls eSputnik's promo code upload API for you, handling formatting and error reporting inline.

Open the SheetXAI sidebar and type:

Import all 5,000 unique promo codes listed in column A of my Google Sheet to eSputnik — type 'percent', discount value 20, expiry date 2026-12-31. Write the total uploaded count into cell B1.

SheetXAI reads every code in column A, calls eSputnik's API with the discount type and expiry settings, and writes the confirmed upload count back to B1. The campaign builder can proceed.

What You Get

5,000 promo codes uploaded to eSputnik and confirmed in the sheet:

  • Type and discount set correctly — 20% off, percent-type, as specified in the prompt
  • Expiry date applied — codes automatically expire on 31 December, no manual date entry in the UI
  • Total count in cell B1 — your confirmation that all codes uploaded, not just that the operation completed
  • Error rows surfaced — any codes that failed get listed in column B with the reason, not silently dropped

The count matters. If eSputnik accepted 4,987 codes but you uploaded 5,000, you need to know which 13 failed before the campaign assigns codes to recipients. SheetXAI surfaces the gap.

What If the Data Is Not Quite Ready

Promo code exports from rewards platforms are rarely clean. SheetXAI handles normalization and upload in the same prompt.

When codes have inconsistent formatting

Some codes are uppercase, some are mixed case. Your redemption system is case-sensitive and requires uppercase.

Normalize all promo codes in column A to uppercase. Then upload them to eSputnik as percent-type codes with a 20% discount and expiry 2026-12-31. Write the uploaded count into cell B1.

When some codes are duplicates from a generation error

Your rewards platform accidentally generated the same code twice in a batch. Uploading duplicates causes assignment errors.

Deduplicate the promo codes in column A, keeping one instance of each code. Then upload the unique codes to eSputnik as percent-type codes with discount 20 and expiry 2026-12-31. Write the deduplicated count into B1 and the duplicate count into B2.

When you need different discount values for different tiers

Column A has the codes, column B has the discount value (10, 15, or 20). You want each code uploaded with its corresponding discount.

Upload all promo codes in column A to eSputnik. Use the discount value in column B for each code (type: percent). Set expiry to 2026-12-31 for all. Write the upload result (success or error) for each row into column C.

When you want to clean, deduplicate, upload, and get a row-level confirmation all in one pass

Your export came from three separate promo code batches merged into one sheet. It has mixed case, some duplicates, and some codes with trailing spaces.

Trim whitespace from all codes in column A. Convert them to uppercase. Deduplicate by code value. Then upload all remaining unique codes to eSputnik as percent-type with discount 20 and expiry 2026-12-31. Write "uploaded" or the error message into column B for each code, and write the total success count into cell C1.

The pattern: instead of cleaning the export in one step and uploading in another, you ask for the full chain in one prompt and let SheetXAI handle the sequencing.

Try It

Get the 7-day free trial of SheetXAI and open any sheet with promotional codes, then ask it to upload them to eSputnik. The eSputnik integration is included in every SheetXAI plan. See also how to send a personalised message to a sheet of recipients or the eSputnik in Google Sheets overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more