Import From Your CRM
Outcome: a filtered, purposeful slice of CRM records in a Sync GTM table, with the fields you need and nothing written back yet.
- Surface
- Sync GTM app
- Level
- Intermediate
- Uses
- CRM integration · import
- Credits
- 0 to import
- Prerequisite
- Lesson 01's prioritized fix list, and CRM access
Never start with everything
The instinct is to pull the whole database and see what is broken. Three reasons not to:
- Cost. Enrichment bills per row, and most CRMs contain a large tail of records nobody will ever work.
- Risk. A write-back mistake on 200 records is recoverable. On 200,000 it is an incident.
- Signal. Fixing everything tells you nothing about what was worth fixing.
Start with a slice you can name and justify.
Choosing the slice
By value
Open opportunities, current customers, accounts above a revenue threshold. Highest return per credit — these records are actually used.
By decay
Records not touched in 12+ months, contacts whose last activity predates their likely tenure. Highest yield of actual errors.
By gap
Records missing the field that blocks a workflow — no domain, no email, no owner. Most immediately useful.
By segment
One industry, one region, one product line. Best for proving the loop before widening.
Pick one. A first run of 200–500 records is enough to validate everything and cheap enough to redo.
“Open opportunities with a missing or unverified contact email” is an excellent first slice: small, high-value, obviously worth fixing, and the result is visible to people who will notice.
Which fields to bring
Bring the minimum, plus the identifiers.
| Bring | Why |
|---|---|
| Record ID | The write-back key. Non-negotiable. |
| Domain (accounts), email + LinkedIn URL (contacts) | The enrichment inputs |
| Name, company, title | Context and enrichment inputs |
| Owner | Routing, and a field you must never overwrite |
| Last activity date | Decay signal |
| The specific fields you intend to fix | The point of the exercise |
Do not bring notes, custom text fields, or anything a human wrote. You are not going to improve them, and having them in the table creates the risk of writing them back.
Read-only first
The first run writes nothing. Import, enrich, compare, and look at what the diff would be.
This is not caution for its own sake — it is how you find out that your CRM’s “title” field contains four different conventions, or that half your account domains have tracking parameters on them. Better to learn that from a diff than from a write.
Reference: CRM integrations, Import.
Record-level hygiene on import
Check three things before enriching anything:
- Every row has a record ID. Rows without one cannot be written back and should be removed.
- Identifiers are populated. Rows with no domain and no email cannot be enriched; count them, because that count is itself a finding.
- Row count matches what your CRM said the filter returned. A mismatch means something was dropped on import.
Do this now
Pick and write down the slice
One sentence describing which records and why.
Confirm the count in the CRM first
So you can check the import against it.
Import with the minimum field set
Plus record ID and identifiers.
Verify the row count matches
Count rows missing identifiers
That number is a finding, not just an obstacle.
Normalize the identifiers
Domains lowercased and stripped, emails trimmed.
Confirm nothing is configured to write back yet
Check your work
- The slice is small, named and justified
- Every row carries a CRM record ID
- Row count matches the CRM’s own count
- Identifiers are normalized
- No write-back is configured
Where this breaks
Importing without the record ID makes write-back impossible, and it is usually discovered three lessons later after all the enrichment has been paid for. Matching back by email or name afterwards is unreliable and creates duplicates. Check the ID column is populated on every row before you enrich anything.
Further automation
Once the loop is proven on one slice, the import becomes a scheduled sync of records meeting a condition — stale, missing a field, recently created. Lesson 08 sets that up; getting the slice right by hand first is what makes it safe to automate.
Next lesson
03 — Match fields and dedupe, aligning rows to records before anything is repaired.
Reference for this lesson: CRM integrations, HubSpot, Salesforce, Import.