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 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).
