CSV Map for Apollo: Automated Outbound

CSV Map for Apollo: Automated Outbound

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)

  1. In Apollo, click the Settings (gear icon) in the left-hand navigation.
  2. Navigate to Data Management → Objects, Fields & Stages → Contact (People) → Fields.
  3. 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
  4. Repeat this for: ghost_email_1, ghost_email_2, ghost_email_3 (Long Text), and ghost_cta (Text).
  5. (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

  1. Navigate to People → open any record.
  2. Click Edit Layout / Customize View.
  3. Add your new Ghost fields to the visible layout.
  4. Save and confirm you can see and edit these fields directly in the record view.

Step C — Import and Map a Ghost CSV

  1. Go to Contacts (or People) → Import → Upload CSV.
  2. Select your Ghost-generated CSV file.
  3. For deduplication, select Update existing by Email and create new if no match.
  4. 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)
  5. Save the mapping for reuse.
  6. 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:

  1. Navigate to Sequences → create or open a sequence.
  2. Add an Email Step.
  3. Place your cursor where you want the variable to appear (e.g., subject line or body).
  4. Click the { } Insert Variable button above the email editor toolbar.
    • This opens a variable picker menu.
  5. Under Custom Fields, select the Ghost field you want.
    • Example: select Ghost Subject 1 and paste it into the Subject line.
  6. 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
  7. 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:
  • Hi {{#if first_name}}{{first_name}}{{#else}}there{{#endif}},

  • Subject fallback:
  • {{#if ghost_subject_1}}{{ghost_subject_1}}{{#else}}Quick idea for {{company}}{{#endif}}

  • Operators (capitalize titles):
  • {{title->capitalize_each_word}}

  • Date/time helpers:
  • {{now_year}}{{now_weekday->plus_2}}{{now_time_of_day}}

Step F — Segment, Launch, and Monitor

  1. Build a List/Filter in People using Ghost fields (e.g., score ≥ 60play contains Zorro).
  2. Add these filtered prospects to your sequence.
  3. Start with a test batch of 10 to validate rendering and replies.
  4. Scale to the full list once confirmed.

Step G — Update Personalization Later

  1. Export a new CSV from Ghost with the same emails and updated fields.
  2. Re-import into Apollo with Update existing by Email.
  3. 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.