Overview
Generic cold emails get ignored. You know it. Your prospects know it. The moment they see "Hi {{first_name}}, I noticed your company..." they're already reaching for the delete button. But here's the paradox: manual personalization that actually resonates takes 15-20 minutes per email, making it impossible to scale beyond a handful of prospects per day.
Instantly's dynamic variables and custom fields offer a middle path. Instead of choosing between blast-and-pray campaigns or time-intensive manual personalization, you can build templated emails that pull in prospect-specific data automatically. This guide walks through every variable type available in Instantly, shows you how to structure custom fields for maximum impact, and demonstrates real-world patterns that scale personalization without sacrificing relevance.
Understanding Instantly's Variable System
Before diving into implementation, you need to understand how Instantly handles variable substitution. The platform uses double curly brace syntax ({{variable_name}}) to insert dynamic content at send time. When Instantly processes your campaign, it looks up each variable against the lead record and replaces the placeholder with the actual value.
Built-in Variables
Instantly provides several system variables out of the box. These pull from your lead data automatically without any additional setup.
| Variable | Data Source | Example Output |
|---|---|---|
| {{first_name}} | Lead's first name field | Sarah |
| {{last_name}} | Lead's last name field | Johnson |
| {{email}} | Lead's email address | sarah@acme.com |
| {{company_name}} | Lead's company field | Acme Corp |
| {{website}} | Company website | acme.com |
| {{phone}} | Lead's phone number | +1 555 123 4567 |
| {{city}} | Lead's city | Austin |
| {{country}} | Lead's country | United States |
These basic variables handle the foundational personalization that every cold email needs. But relying only on first name and company name is exactly what makes emails feel templated. The real power comes from custom fields.
Custom Variables
Custom variables let you pass any data point into your email templates. This is where personalization moves beyond surface-level tokens into genuinely relevant messaging.
You create custom variables by including additional columns in your lead upload CSV or by mapping enrichment data to custom fields. Any column header in your CSV becomes an available variable, following this naming convention:
Custom variable names must be lowercase and use underscores instead of spaces. For example, a column named "Recent Funding" becomes {{recent_funding}}. Keep names descriptive but concise - {{pain_point}} is better than {{the_main_challenge_this_persona_faces}}.
Setting Up Custom Fields for Maximum Impact
The structure of your custom fields determines the quality of your personalization. Think of custom fields as the data architecture behind your messaging strategy.
Map Your Personalization Strategy to Data Fields
Before creating fields, decide what types of personalization will drive engagement for your audience. Common categories include: trigger-based personalization (recent events, news, job changes), pain-based personalization (challenges specific to their role or industry), and outcome-based personalization (results relevant to their company stage or size).
Structure Your CSV with Required and Optional Fields
Create your lead list CSV with columns for each custom variable. Use the exact column names you want as variables. For example:
first_name,last_name,email,company_name(required)recent_trigger- What prompted this outreachpain_point- Their likely challengerelevant_proof- Case study or metric that resonatespersonalized_opener- Custom first line
Upload and Map Fields in Instantly
When uploading your CSV to Instantly, the platform automatically detects your columns and creates corresponding custom fields. Review the mapping screen to ensure each column maps to the correct field type. Mark fields as required or optional based on your fallback strategy.
Configure Field-Level Validation
For critical personalization fields, set validation rules to prevent emails from sending with missing or malformed data. This is especially important when using custom fields in subject lines or opening sentences where blank variables are immediately visible.
The key insight here is that your custom field structure should mirror your persona and use case modeling. If you're targeting VP of Sales at Series B startups, your custom fields should capture what matters to that specific audience - not generic firmographic data.
Fallback Logic: Handling Missing Data Gracefully
In an ideal world, every lead record would have complete data. Reality is messier. Enrichment fails. Data goes stale. Some prospects simply don't have the information you're looking for. Instantly's fallback system lets you handle these gaps without breaking your campaigns.
Syntax for Fallbacks
Instantly uses the pipe character to define fallback values:
{{variable_name|fallback_value}}
If the variable is empty or missing, Instantly substitutes the fallback value instead. For example:
| Variable with Fallback | If Data Exists | If Data Missing |
|---|---|---|
| {{first_name|there}} | Hi Sarah | Hi there |
| {{company_name|your company}} | at Acme Corp | at your company |
| {{recent_trigger|your recent growth}} | Saw your Series B announcement | your recent growth |
Don't use generic fallbacks that make missing data obvious. "Hi there" signals a template immediately. Better approaches include restructuring the sentence to work without the variable, or using a segment-appropriate fallback that still feels relevant. For deeper strategies, see our guide on handling missing data in personalization.
Conditional Blocks for Complex Scenarios
For more sophisticated logic, you can combine variables with conditional content. While Instantly doesn't have native if/else syntax, you can achieve similar results by creating multiple campaign variants targeted at different data availability scenarios, or by using enrichment tools upstream to populate fallback values before import.
Integrating Enrichment Data into Custom Fields
The power of custom fields multiplies when you connect enrichment tools upstream. Instead of manually researching each prospect, you can automate data collection and flow it directly into your Instantly custom fields.
Common Enrichment Sources
Most GTM teams use some combination of these data sources to populate custom fields:
- Clay: The most flexible option for building enrichment recipes that improve personalization. Clay can pull from dozens of sources, run AI analysis on the results, and output structured data ready for Instantly import.
- Clearbit/Apollo/ZoomInfo: Traditional B2B data providers for firmographic and technographic data.
- LinkedIn Sales Navigator: Role-specific signals, recent posts, job changes.
- News APIs: Recent company mentions, funding announcements, executive changes.
- Website scrapers: Tech stack detection, recent content, hiring signals.
Structuring Enrichment Output for Instantly
When building enrichment workflows, structure your output columns to match Instantly's custom field names exactly. This prevents manual remapping on every import. A typical workflow outputs:
| Output Column | Source | Use Case |
|---|---|---|
| personalized_opener | AI-generated from LinkedIn + company data | {{personalized_opener}} as first line |
| trigger_type | News/funding/hiring signal classification | Campaign segmentation |
| trigger_detail | Specific event details | {{trigger_detail}} in body |
| tech_stack_match | Tech stack analysis | {{tech_stack_match}} for relevance |
| pain_hypothesis | AI inference from signals | {{pain_hypothesis}} in value prop |
This approach - enriching upstream, then flowing structured data into Instantly - is how top-performing teams achieve outbound data enrichment at scale. The alternative, manual research per prospect, simply doesn't work when you need to reach hundreds or thousands of prospects per week.
For teams managing complex enrichment and personalization pipelines, a context engine like Octave can help unify data from multiple sources and ensure consistent personalization across all your outbound tools.
Template Patterns That Actually Work
Understanding variable syntax is one thing. Using it effectively is another. Here are proven patterns that combine Instantly's variables with solid copywriting principles.
Pattern 1: Trigger-Based Opener
This pattern works best when you have strong trigger data (funding, hiring, news mentions).
Subject: {{trigger_type}} at {{company_name}}
{{first_name}}, saw {{trigger_detail}}.
When companies {{trigger_implication}}, they often {{pain_point}}.
[Value proposition that addresses the pain]
{{relevant_proof}}
Worth a conversation?
The key is making the trigger feel observed, not scraped. "Saw your Series B close last week" feels different than "Noticed your company raised funding."
Pattern 2: Pain-First Approach
When triggers are weak but pain data is strong, lead with the challenge. This pattern aligns with pain-proof-outcome frameworks for sales email.
Subject: {{pain_point}} at {{company_name}}?
{{first_name}}, {{persona_type}} at {{company_stage}} companies often tell us {{pain_statement}}.
{{proof_point}} helped {{similar_company}} {{outcome}}.
[Specific ask or CTA]
Pattern 3: Proof-Centric
When you have strong social proof that matches the prospect's profile, lead with it. See our guide on proof points that convert in cold email for more examples.
Subject: How {{similar_company}} {{outcome}}
{{first_name}}, {{similar_company}} was facing {{shared_challenge}}.
After implementing [solution], they {{specific_result}}.
Given {{relevance_hook}}, thought it might be worth sharing how they did it.
Open to a quick breakdown?
Don't over-personalize. Emails with too many variables can feel uncanny - like the sender knows too much. Aim for 3-5 meaningful variables per email rather than personalizing every sentence. The goal is relevance, not showing off your data.
Testing and Optimizing Variable Usage
Variables give you natural A/B testing points without rewriting entire templates. Test which personalization elements drive opens and replies, then double down on what works.
What to Test
- Subject line variables: Does {{company_name}} in the subject improve opens? What about {{trigger_type}}?
- Opener style: Trigger-based vs. pain-based vs. compliment-based first lines
- Proof specificity: Named customer logos vs. anonymized results vs. aggregate metrics
- CTA personalization: Generic ask vs. role-specific value proposition
Measuring Variable Impact
Instantly's analytics show open and reply rates by campaign. To isolate variable impact:
Run Parallel Campaigns
Create two identical campaigns with one variable difference. Split your list evenly between them.
Control for Timing
Launch both campaigns simultaneously to the same target audience. Time of day and day of week significantly impact results.
Require Statistical Significance
Wait until you have at least 100 sends per variant before drawing conclusions. Small sample sizes lead to false positives.
For teams running multiple campaigns simultaneously, tracking which variable combinations perform best becomes complex quickly. This is where Octave provides value - correlating personalization strategies across campaigns and identifying patterns that aren't visible in individual campaign metrics.
Common Mistakes and How to Avoid Them
Even experienced GTM engineers make these errors when setting up Instantly personalization.
Subject lines and first sentences with blank variables immediately signal a broken template. Always test your campaigns with empty variable values to see what recipients would actually receive.
"Hi {{first_name}}" is the bare minimum, not a personalization strategy. If that's your only variable usage, you're not differentiating from the thousands of other templated emails hitting that inbox. Build deeper personalization using concept-centric approaches.
When your CRM uses "Company Name," your enrichment tool uses "company," and Instantly expects "company_name," you're creating manual work on every import. Standardize naming conventions across your entire stack.
Variables are only as good as the data behind them. AI-generated personalization that hallucinates facts, outdated trigger data, or incorrectly enriched fields damage your reputation more than generic messaging would. Build validation steps into your enrichment workflow.
High-value accounts deserve more personalization investment than low-priority leads. Use Instantly's campaign segmentation to apply different variable strategies based on account tier - deep personalization for Tier 1, lighter touch for Tier 3.
Advanced Variable Patterns
Once you've mastered the basics, these advanced patterns can further differentiate your outreach.
Spintax Combined with Variables
Instantly supports spintax syntax ({option1|option2|option3}) for randomizing elements within a template. Combine this with variables for natural variation:
{{first_name}}, {noticed|saw|came across} {{trigger_detail}} and {thought|figured|wondered} if you're {dealing with|running into|facing} {{pain_point}}.
This prevents the "exact same opener" pattern that spam filters and savvy prospects detect across your campaign volume.
Persona-Specific Variable Sets
Different personas need different personalization. Create separate custom field sets for each persona:
- VP Sales fields: quota_pressure, team_size, sales_cycle_length, competitor_used
- RevOps fields: tech_stack, integration_pain, data_quality_issue, reporting_gap
- CMO fields: attribution_challenge, channel_mix, brand_vs_demand_tension
Then build templates that reference the appropriate field set for each segment. This approach requires more upfront work but produces dramatically better sequence performance.
Multi-Touch Variable Strategy
Your follow-up emails need different personalization than your initial outreach. Structure your variable usage to evolve across the sequence:
- Email 1: Trigger + pain + proof (establish relevance)
- Email 2: Different proof point + outcome focus (new angle)
- Email 3: Industry trend + their position (bigger picture)
- Email 4: Simple check-in + one line value reminder
This prevents the awkward "just following up" emails that add nothing to the conversation.
Scaling Personalization Without Breaking
The ultimate goal is personalization that feels custom but operates at scale. Here's how to build systems that don't collapse under volume.
Batch Enrichment Workflows
Don't enrich leads one at a time. Build batch workflows that process hundreds or thousands of leads at once, outputting ready-to-import CSVs with all custom fields populated. Tools like Clay excel at this, and integrating Clay research with sequences creates a seamless pipeline.
Tiered Personalization Investment
Not every lead deserves the same personalization depth. Create tiers:
- Tier 1 (Enterprise/Strategic): Manual research + AI enhancement + human review
- Tier 2 (Mid-Market): Full automated enrichment + AI-generated personalization
- Tier 3 (SMB/Volume): Basic enrichment + segment-level personalization
This lets you maintain high-touch personalization for accounts that matter most while still running efficient campaigns for your broader market.
Quality Control at Scale
Build review steps into your process. Before launching any campaign:
- Spot check 10-20 leads for variable accuracy
- Send test emails to yourself with real lead data
- Review fallback scenarios for empty variables
- Check for data freshness on time-sensitive triggers
The ROI of these checks far exceeds the time invested. One bad batch email to your ICP damages your brand more than dozens of good ones help it.
For teams managing personalization across multiple tools and channels, Octave provides the context infrastructure to ensure consistent, accurate personalization at scale.
