QA Sheet Generator
Turn a Google Docs HTML export into a multi-tab QA sheet — one tab per email.
How to use it
- Open the Google Doc that holds the email copy.
- From the Google Docs menu choose File → Download → Web Page (.html, zipped).
- Unzip the download. The file you need is the
.html at the top level.
- Drop that
.html file onto the upload box (or click the box to browse).
- Confirm the detected campaign name and the list of emails.
- Click Download QA Sheet. The XLSX downloads automatically.
What the parser looks for
The tool reads the doc top-to-bottom and uses two cues:
- Subtitle headings — the doc's Subtitle style marks each section (e.g.
Email #1 | Mar 12, 2026, Abandoned Cart | …, Autoresponder).
- A table that contains
SUBJECT LINE immediately after the subtitle. That signals a real email and not a non-email asset (lightbox, donation form, web hero, etc.).
The first subtitle in the doc that doesn't have a SUBJECT LINE table after it is treated as the campaign name and used in the file name and tab title.
What ends up in the sheet
- One tab per detected email. Tab names use the subtitle text (e.g.
Email #1 | Mar 12, 2026), trimmed to Excel's 31-character limit.
- Cell A1 on each tab combines the campaign name and the email label.
- The "
[CLIENT NAME] SPECIFIC ITEMS" header is left as a placeholder — fill it in by hand for now.
If the count looks wrong
- An email is missing. The parser only counts subtitles followed by a table containing
SUBJECT LINE. Confirm that row exists and the spelling matches.
- A non-email is included. If a section like Autoresponder shouldn't be in the QA sheet, remove the
SUBJECT LINE row from that section's table before exporting.
- Campaign name is wrong. Make sure the doc's first subtitle is the campaign heading (e.g.
ThedaCare | Cancer Care Appeal) and not an email heading.
Tip: If something parses oddly, drop the HTML and the screenshot of the detected list into Slack — the parsing rules live in en-builder/app.js and we can extend them.