Uploads & bulk imports

CSV upload fails, hangs, or times out on large files, including Tags importer performance limits and how to work around them.

Bulk CSV imports (Tags, COGS, and similar uploads) can fail, hang, or time out when the file is large. The most commonly reported case so far is the Tags importer.

Common scenarios

Tags: CSV upload fails or hangs on large files

What I can observe

  • Uploading a large Tags CSV (roughly 10,000+ rows) gets stuck after you click confirm, or fails without a clear error message.
  • Smaller files (a few thousand rows) upload without issue.
  • This isn't specific to one workspace — it's been reported more than once.

Why is this happening?

DataHawk's Tags CSV importer runs on a third-party upload widget (Dromo) plus DataHawk's own pre-upload validation checks. On very large files, that validation step can take too long, and the upload times out or appears to hang after confirmation.

⚠️

Known limitation (as of April 2026): reliable uploads top out around 3,000–4,000 rows. DataHawk has looked at optimizing the validation step but hasn't shipped a fix as of this writing — if you're reading this later, check with support whether larger files now upload successfully before splitting yours.

What can I do?

Split your CSV into smaller files

Break your file into chunks of roughly 3,000 rows or fewer. A 17,000-row file, for example, needs at least 5–6 chunks to stay safely under that ceiling.

Upload the first chunk with your intended import mode

Pick whichever import mode matches what you're trying to do: Add New Only, Replace Matching, or Replace All.

If you're using Replace All, switch modes after the first chunk

Do not use Replace All on more than one chunk. Replace All wipes your entire workspace tag set before applying the file. Running it again on a second chunk erases the tags you just uploaded from the first chunk, leaving only the last chunk's tags at the end.

If your goal is to fully replace your tag catalog across multiple chunks:

  1. Upload the first chunk with Replace All — this clears old tags and sets the first chunk's tags.
  2. Upload every subsequent chunk with Add New Only — since those items have no tags left after the wipe, this correctly adds each chunk's tags without touching what you already uploaded.

[TO CONFIRM with Sylvain/support: this sequencing is inferred from how the three import modes are documented — it hasn't been explicitly confirmed for a multi-chunk upload. Verify before pointing a customer at it.]

If you're using Add New Only or Replace Matching for the whole file, you can use the same mode consistently across all chunks — neither one wipes the full tag set, so there's no ordering risk.

Upload each remaining chunk the same way

Repeat until every chunk is uploaded.

Still stuck?

Email [email protected] with:

  • Your workspace ID
  • The total row count and how many chunks you split it into
  • A screenshot of where the upload got stuck, or the error you saw

Where to go next

On this page