1. Core Contact Fields
Apollo requires these standard fields for prospects:
- First Name
- Last Name
- Email (primary unique identifier for dedupe)
- Company
- (Optional: Title, Phone, LinkedIn URL)
2. Custom Fields for Personalization
Ghost automatically generates and fills custom fields in your CSV. Examples:
- Ghost_Subject_1 → Personalized Subject Line
- Ghost_Email_1 → Email Body Snippet 1
- Ghost_Email_2 → Email Body Snippet 2
- Ghost_Email_3 → Email Body Snippet 3
- Ghost_CTA → Call-to-Action Variant
These fields appear in your CSV ready to be mapped in Apollo.
Step A — Create Apollo Custom Fields (People Object)
- In Apollo, click the Settings (gear icon) in the left-hand navigation.
- Navigate to Data Management → Objects, Fields & Stages → Contact (People) → Fields.
- Click + Create Field and configure each one:
- Display Name: Ghost Subject 1
- API name/key: ghost_subject_1 (lowercase, underscores)
- Type: Text for subject/CTA; Long Text for email bodies
- Repeat this for: ghost_email_1, ghost_email_2, ghost_email_3 (Long Text), and ghost_cta (Text).
- (Optional): Create additional fields such as play (Text), score (Number), signals (Long Text) if you want to use these for segmentation or reporting.
Tips:
- Always use Long Text for email bodies to preserve formatting and line breaks.
- Field type cannot be changed later — if you pick the wrong type, delete and recreate it.
- Use field names that match Ghost CSV headers for smooth mapping.
Step B — Confirm Fields on a Person Record
- Navigate to People → open any record.
- Click Edit Layout / Customize View.
- Add your new Ghost fields to the visible layout.
- Save and confirm you can see and edit these fields directly in the record view.
Step C — Import and Map a Ghost CSV
- Go to Contacts (or People) → Import → Upload CSV.
- Select your Ghost-generated CSV file.
- For deduplication, select Update existing by Email and create new if no match.
- In the Field Mapping screen, map each column:
- first_name → First Name
- last_name → Last Name
- email → Email (dedupe key)
- company → Company
- ghost_subject_1 → Ghost Subject 1 (custom)
- ghost_email_1 → Ghost Email 1 (custom)
- ghost_email_2 → Ghost Email 2 (custom)
- ghost_email_3 → Ghost Email 3 (custom)
- ghost_cta → Ghost CTA (custom)
- (Optional: play, score, signals → corresponding custom fields)
- Save the mapping for reuse.
- Review the Import Summary; fix errors in your CSV if necessary.
Formatting Notes:
- Ghost exports CSVs in UTF-8 format with line breaks preserved.
- If editing manually, wrap long body text in double quotes.
Step D — Use Dynamic Variables in Apollo Sequences
Dynamic variables allow Apollo to insert data from your custom fields directly into subject lines and email bodies.
How to Insert Dynamic Variables:
- Navigate to Sequences → create or open a sequence.
- Add an Email Step.
- Place your cursor where you want the variable to appear (e.g., subject line or body).
- Click the { } Insert Variable button above the email editor toolbar.
- This opens a variable picker menu.
- Under Custom Fields, select the Ghost field you want.
- Example: select Ghost Subject 1 and paste it into the Subject line.
- Repeat for bodies:
- Step 1 Body → Ghost Email 1
- Step 2 Body → Ghost Email 2
- Step 3 Body → Ghost Email 3
- CTA placement → Ghost CTA
- Click Preview / Personalize to check how variables resolve for real prospects.
Important:
- Always insert via the variable picker, never by hand-typing. Apollo syntax is workspace-dependent, and hand-typing often breaks.
- In preview, missing data shows up highlighted in red — double-check the prospect record if you see this.
Step E — Advanced Dynamic Variables
Apollo supports conditional logic and fallback values so emails don’t break when fields are blank.
Examples:
- Greeting with fallback:
- Subject fallback:
- Operators (capitalize titles):
- Date/time helpers:
Hi {{#if first_name}}{{first_name}}{{#else}}there{{#endif}},
{{#if ghost_subject_1}}{{ghost_subject_1}}{{#else}}Quick idea for {{company}}{{#endif}}
{{title->capitalize_each_word}}
{{now_year}}
, {{now_weekday->plus_2}}
, {{now_time_of_day}}
Step F — Segment, Launch, and Monitor
- Build a List/Filter in People using Ghost fields (e.g., score ≥ 60, play contains Zorro).
- Add these filtered prospects to your sequence.
- Start with a test batch of 10 to validate rendering and replies.
- Scale to the full list once confirmed.
Step G — Update Personalization Later
- Export a new CSV from Ghost with the same emails and updated fields.
- Re-import into Apollo with Update existing by Email.
- Re-preview sequence steps to ensure the new copy renders correctly.
Troubleshooting
- Variables blank in preview: Field empty or wrong variable → re-insert via picker and check record.
- Paragraphs collapsed: Field type set to Text instead of Long Text → create new Long Text field and re-map.
- Duplicates created: Dedupe not set to Email or CSV had duplicates → clean and re-import.
- LinkedIn URL as identifier: Store for context only. Always dedupe by Email.
Best Practices
- Align field names with Ghost CSV headers for fast mapping.
- Limit to fields you actually use (Subject + 2–3 Bodies + CTA).
- Use a QA checklist before each import: required fields present, mapping correct, preview tested, send a test batch first.