I imported a CSV with custom fields but my template variables show 'undefined' — what should I do?

This is a real bug — fixed Apr 30, 2026 (LL#258). Previously, if your campaign template referenced a custom variable like {{custom.Linkedinconnection}} and your imported CSV didn't have that column (typo, missing column, capital-letter mismatch), the campaign engine had two failure modes:

Customer Humair Ali hit this — 9 of 15 prospects silently failed before he noticed. The fix is two-layer:

(1) Validate-at-launch — the campaign launch path now enumerates every {{custom.<name>}} reference in your template, intersects against the actual column set in your prospect data, and BLOCKS launch with an actionable error if any references aren't satisfiable. The error names the missing column AND lists every column that DOES exist in your prospect data, so you can immediately see whether you have a typo (capital L vs lowercase l, missing s, etc.) or a genuinely-missing column.

(2) Defer-at-send — if a template variable somehow still unresolves at send time (race: campaign launched against audience N, then audience N had a column dropped before the send fired), the runtime renderer now writes linkedin_status='pending_template_variable_resolution' instead of a terminal failure. The prospect re-enters the queue on the next campaign re-evaluation, so once you fix your template OR re-import the CSV with the corrected column, the affected prospects retry automatically — no manual un-burn needed.

How to fix this on existing prospects:

No LinkedIn API calls were made for the affected prospects (the deferred renderer doesn't touch LinkedIn), so there's no rate-limit cost to retrying.

Back to all documentation | Contact support