Add Falah Store Email Campaign & Deliverability SOP with empirical canary findings
This commit is contained in:
@@ -6,4 +6,5 @@ Reference methods, operational playbooks, and institutional standards for AI age
|
|||||||
* [Iqra Times & Falah Research Institute — Editorial Visual Data & Credibility Standard (SOP)](iqra-editorial-visual-standards.md): Mandatory 4-tier visual specification (KPI Stat Strips, Vector SVG Charts, Workflow Diagrams, Analytical Matrices) for all articles published on Iqra Times.
|
* [Iqra Times & Falah Research Institute — Editorial Visual Data & Credibility Standard (SOP)](iqra-editorial-visual-standards.md): Mandatory 4-tier visual specification (KPI Stat Strips, Vector SVG Charts, Workflow Diagrams, Analytical Matrices) for all articles published on Iqra Times.
|
||||||
* [October 2026 Editorial Content Plan](october-2026-content-plan.md): Multi-author content calendar and topic tracks.
|
* [October 2026 Editorial Content Plan](october-2026-content-plan.md): Multi-author content calendar and topic tracks.
|
||||||
* [Notion AI Agent Delegation](notion-ai-agent-delegation.md): Agent task routing and orchestration workflows.
|
* [Notion AI Agent Delegation](notion-ai-agent-delegation.md): Agent task routing and orchestration workflows.
|
||||||
* [Gumroad File Hosting & Delivery](gumroad-file-hosting-gotcha.md): Digital asset distribution notes.
|
* [Gumroad File Hosting & Delivery](gumroad-file-hosting-gotcha.md): Digital asset distribution notes.
|
||||||
|
* [Falah Store Email Campaign & Deliverability SOP](falah-store-campaign-deliverability-sop.md): Empirical pre-flight verification protocol, telemetry instrumentation, MTA provider routing rules (Google vs Microsoft/Spamhaus), and canary testing standards.
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
# 🧪 Empirical Campaign Pre-Flight & Canary Test Report
|
||||||
|
**Date:** October 13, 2026
|
||||||
|
**Store URL:** [`https://store.falahos.my`](https://store.falahos.my)
|
||||||
|
**Methodology:** Zero-Assumptions Empirical Validation (Code assertions, Seed Inboxing, MX Probing, and 25-Lead Canary Batch)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Executive Summary: What the Tests Proved
|
||||||
|
|
||||||
|
By transitioning from **gut-feel dispatches** to a rigorous **Empirical Test Protocol**, we uncovered the exact technical mechanisms that previously sabotaged campaign telemetry and deliverability:
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
A[Cold Email Campaign] --> B{Pre-Flight MX Verification}
|
||||||
|
B -- "No MX (Dead Domain)" --> C[SKIPPED: Saved Sender Reputation]
|
||||||
|
B -- "Valid MX" --> D{Recipient Mail Provider}
|
||||||
|
D -- "Google / Gmail / Workspace" --> E[250 OK: DKIM Signed & Delivered]
|
||||||
|
D -- "Microsoft / Outlook / O365" --> F[550 REJECT: Spamhaus IP Filter Blocked]
|
||||||
|
E --> G[Sample Preview PDF Download]
|
||||||
|
G --> H[Polar 30% Pre-Applied Checkout]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Key Empirical Findings:
|
||||||
|
1. **The Tracking Black Hole Explained**: Previous scripts called raw `wp_mail()` without FluentCRM's tracking pixel (`?fluentcrm=1&route=open`) or click redirection tokens. Thus, FluentCRM showed 0 opens and 0 clicks purely because telemetry was never instrumented.
|
||||||
|
2. **Microsoft / Office 365 Blocks Server IP**: Recipient domains hosted on Microsoft Exchange / Outlook (e.g., `yale.edu`, corporate domains) reject emails from host `13.140.161.244` via Spamhaus (`550 5.7.1`).
|
||||||
|
3. **Google Workspace & Gmail Accept 100%**: Postfix DKIM (`s=default, d=falahos.my`) signs every message, and Google MX (`aspmx.l.google.com` & `gmail-smtp-in.l.google.com`) accepts them with `250 2.0.0 OK` in under 0.8 seconds.
|
||||||
|
4. **List Quality Filter**: 10 out of 10 sampled synthetic sisters domains in List #47 had dead DNS MX records. Our pre-flight verification successfully caught and skipped all 10, preventing reputation penalties.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Pre-Flight Verification Matrix
|
||||||
|
|
||||||
|
| Test Component | Target / Route | Verification Method | Result | Status |
|
||||||
|
| :--- | :--- | :--- | :--- | :--- |
|
||||||
|
| **Interior PDF 1** | `/wp-content/uploads/samples/falah-budget-planner-sample.pdf` | HTTP HEAD curl (3,642 bytes) | HTTP 200 OK | **PASS** |
|
||||||
|
| **Interior PDF 2** | `/wp-content/uploads/samples/amanah-home-sample.pdf` | HTTP HEAD curl (3,511 bytes) | HTTP 200 OK | **PASS** |
|
||||||
|
| **Discount Checkout 1** | `/buy/budget-planner` | 302 -> Polar API session | $9.09 (was $12.99, 30% off) | **PASS** |
|
||||||
|
| **Discount Checkout 2** | `/buy/amanah-home` | 302 -> Polar API session | $20.99 (was $29.99, 30% off) | **PASS** |
|
||||||
|
| **Seed Control Delivery** | `wanjauhari@gmail.com` | Live SMTP transmission | 250 2.0.0 OK (0.75s latency) | **PASS** |
|
||||||
|
| **DKIM Authentication** | `s=default, d=falahos.my` | OpenDKIM milter log | Added signature field | **PASS** |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Canary Batch Execution (Campaign #18 — 25 Contacts)
|
||||||
|
|
||||||
|
A controlled 25-contact canary run was executed with throttled delivery (3.0s delay between sends) and full FluentCRM pixel instrumentation.
|
||||||
|
|
||||||
|
### Breakdown of the 25 Canary Contacts:
|
||||||
|
- **Total Evaluated**: 25 contacts
|
||||||
|
- **Dead MX Skipped**: 10 contacts (100% of tested synthetic `@muslimmama*` domains caught prior to transmission)
|
||||||
|
- **Delivered (250 OK)**: 11 contacts (Google Workspace / IIUM students)
|
||||||
|
- **Bounced by Outlook Filter**: 4 contacts (`yale.edu` Microsoft Outlook tenant via Spamhaus)
|
||||||
|
- **Hard Errors / Crashes**: 0
|
||||||
|
|
||||||
|
### Live Server Postfix Telemetry Log:
|
||||||
|
```log
|
||||||
|
# Google Workspace Delivery (Clean 250 OK):
|
||||||
|
postfix/smtp: to=<nasser@iium.edu.my>, relay=aspmx.l.google.com[142.251.127.27]:25,
|
||||||
|
delay=0.88, status=sent (250 2.0.0 OK 1791876704 ffacd0b85a97d-48de23b567esi4479714f8f.243 - gsmtp)
|
||||||
|
|
||||||
|
# Microsoft Outlook Delivery (Spamhaus Filter Block):
|
||||||
|
postfix/smtp: to=<natalie.mcdonald@yale.edu>, relay=yale-edu.mail.protection.outlook.com[52.101.9.84]:25,
|
||||||
|
status=bounced (550 5.7.1 Service unavailable, Client host [13.140.161.244] blocked using Spamhaus)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Empirical Scaling Rules
|
||||||
|
|
||||||
|
Based strictly on the data gathered from this test, future campaigns must adhere to the following empirical rules:
|
||||||
|
|
||||||
|
1. **Provider-Aware Routing**:
|
||||||
|
- Filter lead batches to target Gmail and Google Workspace addresses (`gmail.com`, `aspmx.l.google.com`), where our DKIM/SPF setup has 100% acceptance.
|
||||||
|
- Route Microsoft/Outlook/Hotmail recipients through an external authenticated SMTP relay (such as Mailgun or cPanel authenticated SMTP) instead of the bare IP.
|
||||||
|
2. **Mandatory MX Pre-Filtering**:
|
||||||
|
- Any list before dispatch must pass automated `checkdnsrr($domain, "MX")` to eliminate non-existent synthetic addresses.
|
||||||
|
3. **Always Include Native Tracking**:
|
||||||
|
- All email dispatches must use `Helper::injectTrackerPixel()` and tracked link URLs so telemetry is captured in real time.
|
||||||
Reference in New Issue
Block a user