Real run

Email Pre-send QA Check

Sample 1 · 2026-10-29 · Grok Bot executor subagent (model family not disclosed)

Bot page

Email Pre-send QA Check: Larkspur Pantry autumn blends email

Platform: Klaviyo. Gmail volume you gave: about 7,500 messages a day. Tracking rule: links to larkspurpantry.example carry utm_source=klaviyo and utm_campaign=autumn-blends.

1. Link check

Checked by script per link: scheme, path against the intended destination you wrote, tracking parameters, duplicates.

Link Label Intended destination https Path matches Tracking Duplicate Result
L1 logo home page yes yes yes no pass
L2 Shop the blends autumn collection yes yes yes no pass
L3 Mulled cider blend mulled cider product yes yes missing utm_campaign no missing utm_campaign
L4 Smoked chili rub smoked chili rub product no yes yes no not https
L5 Pumpkin spice pumpkin spice product yes no yes no path does not match intended destination
L6 Recipes recipe blog yes yes yes no pass
L7 Instagram Instagram profile yes yes rule does not apply (other site) no pass
L8 Shop now (footer) autumn collection yes yes yes same URL as L2 pass
  • L3: add utm_campaign=autumn-blends.
  • L4: the link starts with http, not https. Change it to https.
  • L5: the label says Pumpkin spice, but the URL goes to /products/chai-masala. Which is right, the label or the URL?
  • L8 goes to the same URL as L2 with a different label. That fits your stated intent for both; no fix needed unless you want to tell them apart in reports.

2. Personalization check

Tag Where As written Default set How it reads when the value is missing Result
T1 subject {{ first_name }} no ', the autumn blends are here' (starts with a comma) add a default
T2 greeting {{ first_name|default:'friend' }} yes 'Hi friend,' pass
T3 body line 2 {{ person.city }} no ' orders ship within 2 days.' (sentence starts with a blank) add a default
T4 body line 3 {{ person.loyalty_points }} no 'Your points balance: ' (nothing after the colon) add a default
  • Klaviyo's personalization article shows the fallback pattern {{ first_name | default:'there' }} and the aim "To avoid sending emails like “Hola ,”" (https://help.klaviyo.com/hc/en-us/articles/54029159108891). For T1, a fix in the same pattern is {{ first_name|default:'friend' }}, matching your greeting.
  • My own note: the saved article shows the default filter on first name only. Using it on T3 and T4 is my suggestion; check both in Preview with a profile that has no city and no points. For T4, a line that hides when there are no points may read better than a default number; tell me which you want.

3. Unsubscribe check

Item Finding Result
Visible unsubscribe link in the body Footer shows Unsubscribe and Manage preferences pass
One-click unsubscribe Required, since your Gmail volume is over 5,000 a day per Google's sender guidelines; I cannot see message headers from a paste needs a live test

Google's sender guidelines say senders over that volume must support one-click unsubscribe and "include a clearly visible unsubscribe link" in the body (https://support.google.com/a/answer/81126).

4. What preview cannot show

From Klaviyo's preview and test article (https://help.klaviyo.com/hc/en-us/articles/115005081907):

  • Test sends show the personalization of the profile picked in the preview, "rather than their own profile data". Pick one profile with a first name, city and points, and one without.
  • In previews and test sends, unsubscribe, manage preferences and view in browser links are placeholders, so they cannot be checked there.
  • To check live links and unsubscribe behavior, Klaviyo says to "use a live test instead" of relying on preview. That covers the one-click row above.

5. Counts

Counted by script.

Item Checked Pass With an issue Issues
Links 8 5 3 3
Tags 4 1 3 3
Unsubscribe 2 1 0 0 (1 needs a live test)
Total 14 7 6 6

6. Send (held)

The send stays HELD until each item below is fixed or you accept it as is:

  • L3: missing utm_campaign (HELD)
  • L4: not https (HELD)
  • L5: path does not match intended destination (HELD)
  • T1: add a default (HELD)
  • T3: add a default (HELD)
  • T4: add a default (HELD)
  • One-click unsubscribe: confirm in a live test (HELD)

7. Questions for you

  • L5: should it go to the pumpkin spice product, or should the label say chai masala?
  • T4: default number, or hide the points line when there is no balance?
  • Who can run a live test to an inbox you control before the send?
  • Does the Instagram link (L7) need tracking? Your rule covers only your own site.

Needs your decision

  • Approve scheduling or sending this email once the HELD items are fixed or accepted (HELD).
  • Approve the fix or accept as is: L3: missing utm_campaign (HELD).
  • Approve the fix or accept as is: L4: not https (HELD).
  • Approve the fix or accept as is: L5: path does not match intended destination (HELD).
  • Approve the fix or accept as is: T1: add a default (HELD).
  • Approve the fix or accept as is: T3: add a default (HELD).
  • Approve the fix or accept as is: T4: add a default (HELD).
  • Approve the fix or accept as is: One-click unsubscribe: confirm in a live test (HELD).