Bahasa Indonesia

Mengekspor Data dari Salesforce dengan Bersih: Panduan Ekspor Siap Migrasi

Sebuah tim Sales Ops di perusahaan SaaS mid-market menghabiskan enam minggu mempersiapkan migrasi CRM mereka. Mereka mengekspor Kontak dan Akun, memeriksa beberapa rekaman, dan menyatakan ekspor selesai. Tiga hari setelah go-live, CRM baru mereka menampilkan nol riwayat aktivitas untuk 4.200 kontak. Tim tersebut tidak mengekspor Tasks atau Events, dua objek Salesforce tempat setiap log panggilan, email, dan catatan pertemuan berada. Tiga tahun riwayat interaksi hilang.

Ekspor itu sendiri hanya membutuhkan 20 menit. Pemulihannya membutuhkan tiga minggu rekonstruksi manual dari arsip email dan ingatan tim sales. Tidak semua rekaman berhasil dipulihkan.

Panduan ini menjelaskan proses ekspor Salesforce yang benar-benar mempreservasi segalanya: objek, relasi, bidang kustom, dan riwayat aktivitas. Ikuti secara berurutan. Urutan sangat penting.


Pemetaan Data Salesforce

Sebelum menyentuh alat ekspor, Anda perlu memahami apa yang Anda ekstrak. Salesforce mengorganisasi data ke dalam objek. Sebagian besar tim mengetahui yang jelas. Yang terlewatkan tim adalah yang menyebabkan masalah. Pekerjaan pemetaan ini terhubung langsung ke pemetaan bidang antara sistem lama dan sistem baru, Anda tidak dapat membangun peta bidang yang andal tanpa terlebih dahulu mengetahui objek apa yang Anda ekstrak.

Menurut riset kualitas data CRM Gartner, kualitas data yang buruk menyebabkan organisasi rata-rata kerugian $12,9 juta per tahun, dan migrasi CRM adalah salah satu momen paling berisiko untuk penurunan kualitas data.

Objek yang harus diekspor:

Objek Isi Kesalahan umum
Account Rekaman perusahaan, induk untuk sebagian besar relasi Diekspor terakhir, merusak tautan Kontak
Contact Orang-orang individual yang ditautkan ke Akun Diekspor tanpa relasi Akun
Lead Prospek yang belum dikualifikasi, terpisah dari Kontak Sama sekali terlupakan jika tim "tidak menggunakan Leads"
Opportunity Deals, ditautkan ke Akun dan Kontak Kontak Opportunity (objek junction) sering terlewat
Task Log panggilan, to-do, tindak lanjut Hampir selalu terlupakan
Event Pertemuan, acara kalender Dianggap opsional, jarang diekspor
Case Tiket dukungan, jika digunakan Dilewati oleh tim sales yang tidak memiliki Support
Custom objects Apa pun yang dibangun org Anda Sama sekali tidak terlihat kecuali seseorang mendokumentasikannya

Grafik relasi berjalan Account ke Contact ke Opportunity, dengan Tasks dan Events yang melekat pada ketiganya. Jika Anda mengekspor Kontak tanpa Akun, setiap Kontak kehilangan asosiasi perusahaannya. Jika Anda melewati Tasks dan Events, Anda kehilangan seluruh timeline aktivitas.

Tuliskan setiap objek yang digunakan org Anda sebelum memulai. Periksa dengan admin Salesforce Anda jika tidak yakin.


Langkah 1: Gunakan Data Export atau Data Loader, dan Kapan Masing-Masing Tepat

Salesforce memberi Anda dua alat ekspor utama. Keduanya tidak dapat dipertukarkan.

Data Export (Setup > Data Export)

  • Dijadwalkan mingguan atau dijalankan sesuai permintaan melalui UI
  • Mengekspor semuanya dalam satu file zip per objek
  • Batas keras: sekitar 512MB per file; org besar mencapai batas ini pada Kontak atau Opportunities
  • Tidak ada pemfilteran, Anda mendapatkan setiap rekaman di setiap objek
  • Cocok untuk: Org kecil hingga menengah, ekspor penuh awal, tim tanpa kedalaman admin Salesforce

Data Loader

  • Aplikasi desktop mandiri (Windows/Mac)
  • Menangani volume besar: telah diuji hingga puluhan juta rekaman
  • Memerlukan SOQL queries, Anda mengontrol dengan tepat bidang apa yang keluar
  • Memungkinkan pemfilteran berdasarkan rentang tanggal, tipe rekaman, atau nilai bidang apa pun
  • Cocok untuk: Org besar, ekspor selektif, objek kustom dengan relasi kompleks

Untuk sebagian besar migrasi, Data Loader adalah pilihan yang tepat. Data Export baik untuk org dengan kurang dari 50.000 rekaman per objek, tetapi begitu Anda berurusan dengan relasi bidang yang kompleks atau riwayat aktivitas yang besar, Data Loader memberi Anda kendali yang diperlukan. Jika tidak yakin apakah org Anda memenuhi syarat sebagai migrasi kompleks, menyiapkan data sebelum memigrasikan apa pun membantu Anda menentukan ruang lingkup pekerjaan sebelum ekspor dimulai.

Catatan tentang batas API: Data Loader menggunakan API Salesforce. Jika org Anda memiliki integrasi lain yang berjalan secara bersamaan, Anda dapat mencapai batas kecepatan di tengah ekspor. Jadwalkan ekspor besar di luar jam kerja atau tanyakan kepada admin Salesforce Anda tentang alokasi API. Dokumentasi developer Data Loader Salesforce mencakup konfigurasi ukuran batch dan batas penggunaan API secara terperinci.


Langkah 2: Ekspor dalam Urutan yang Benar

Dependensi objek di Salesforce berarti bahwa beberapa rekaman tidak dapat diimpor secara bermakna ke sistem baru kecuali rekaman yang mereka rujuk sudah ada di sana. Ekspor dalam urutan yang salah dan Anda akan memiliki file CSV penuh rekaman yatim.

Urutan ekspor yang diperlukan:

  1. Account
  2. Contact (merujuk Account)
  3. Lead (independen, tetapi ekspor lebih awal)
  4. Opportunity (merujuk Account)
  5. OpportunityContactRole (objek junction yang menghubungkan Opportunities ke Kontak)
  6. Task (merujuk Contact, Lead, Opportunity, Account)
  7. Event (sama dengan Task)
  8. EventRelation (jika org Anda menggunakan pertemuan bersama dengan beberapa peserta)
  9. Case (jika digunakan)
  10. Custom objects (ekspor dalam urutan dependensi mereka sendiri)

Mengapa Account harus didahulukan? Karena Kontak merujuk AccountId. Saat mengimpor ke sistem tujuan, Kontak perlu merujuk rekaman Akun yang sudah ada. Ekspor Akun terlebih dahulu, impor terlebih dahulu, kemudian tangani Kontak dengan asosiasi Akun yang benar.

OpportunityContactRole adalah pembasmi diam-diam. Ini adalah objek junction yang menyimpan Kontak mana yang diasosiasikan dengan Opportunity mana. Lewati dan Opportunities Anda tiba di CRM baru tanpa relasi kontak. Sebagian besar tim lupa bahwa itu ada. Prinsip yang sama berlaku untuk menangani aktivitas historis, catatan, dan email, data relasi dan riwayat aktivitas keduanya memerlukan keputusan ekspor yang disengaja, bukan sekadar "ekspor semua" secara default.


Langkah 3: Tangani Lookups dan ID

Di sinilah ekspor menjadi penting secara teknis. Setiap bidang lookup di Salesforce berisi ID rekaman Salesforce, string alfanumerik 18 karakter yang tidak berarti apa pun di luar Salesforce. Saat Anda membuka rekaman Kontak, bidang AccountId berisi sesuatu seperti 001A000001B2cDEFAB. ID tersebut tidak ada di CRM baru Anda.

Yang harus dilakukan:

Untuk setiap bidang lookup, ekspor pengidentifikasi bermakna rekaman terkait bersama ID Salesforce. Untuk Kontak, ini berarti mengekspor AccountId dan Account.Name dalam baris yang sama. Untuk Opportunities, ekspor AccountId dan Account.Name, ditambah OwnerId dan Owner.Name.

Dalam Data Loader, SOQL query Anda terlihat seperti:

SELECT Id, FirstName, LastName, Email, Phone, AccountId, Account.Name,
       OwnerId, Owner.Name, LeadSource, CreatedDate
FROM Contact

Notasi titik (Account.Name) menarik bidang terkait secara langsung. Ini memberi langkah pembersihan dan impor Anda referensi yang dapat dibaca manusia bersama ID Salesforce.

External IDs: Jika org Anda menggunakan bidang external ID kustom (umum di org yang terintegrasi dengan ERP atau sistem penagihan), ekspor bidang tersebut juga. Bidang ini menjadi kunci join di sistem tujuan.

Tabel referensi terjemahan ID:

Bidang ekspor Apa itu Apa yang diperlukan bersampingnya
AccountId pada Contact ID rekaman Akun Salesforce Account.Name
OwnerId pada objek apa pun ID rekaman Pengguna Salesforce Owner.Name, Owner.Email
ContactId pada Opportunity ID rekaman Kontak Salesforce Contact.FirstName, Contact.LastName, Contact.Email
WhoId pada Task ID Kontak atau Lead WhoId.Name (bidang "Who")
WhatId pada Task ID Akun, Opportunity, atau Case WhatId.Name (bidang "What")

Ekspor nama relasi ini bersama setiap ID. Anda akan menggunakannya selama pemetaan bidang pada tahap berikutnya.


Langkah 4: Ekspor Aktivitas dengan Benar

Tasks dan Events ada dalam objek mereka sendiri. Mereka tidak tertanam dalam rekaman Kontak atau Opportunity. Dan mereka memiliki bidang relasi mereka sendiri yang membutuhkan perlakuan yang sama dengan bidang lookup di atas.

Untuk Tasks (SOQL melalui Data Loader):

SELECT Id, Subject, Description, Status, Priority, ActivityDate,
       WhoId, Who.Name, Who.Type,
       WhatId, What.Name, What.Type,
       OwnerId, Owner.Name, CreatedDate
FROM Task
WHERE ActivityDate >= 2022-01-01

WhoId adalah orang yang terkait task (Kontak atau Lead). WhatId adalah rekaman terkait (Opportunity, Akun, atau Case). Ekspor ID dan namanya.

Untuk Events:

SELECT Id, Subject, Description, StartDateTime, EndDateTime, Location,
       WhoId, Who.Name, WhatId, What.Name, OwnerId, Owner.Name, CreatedDate
FROM Event
WHERE StartDateTime >= 2022-01-01T00:00:00Z

Pemfilteran rentang tanggal: Sebagian besar tim tidak memerlukan setiap Task dan Event dari awal waktu. Filter ke 2-3 tahun terakhir kecuali ada alasan bisnis tertentu untuk mundur lebih jauh. Ekspor aktivitas tanpa filter dari org Salesforce yang matang dapat mencapai jutaan rekaman, banyak di antaranya adalah peristiwa sistem yang dibuat otomatis tanpa konten aktual. Lihat menangani aktivitas historis, catatan, dan email untuk kerangka keputusan tentang apa yang layak dimigrasikan dibandingkan yang diarsipkan.

Bidang WhoId.Type memberi tahu Anda apakah task ditautkan ke Kontak atau Lead. Ekspor itu agar Anda dapat merutekan dengan benar selama impor.


Langkah 5: Validasi Ekspor Anda Sebelum Menutup Salesforce

Jangan mulai membersihkan sampai Anda telah memverifikasi bahwa ekspor sudah lengkap. Pemeriksaan ini membutuhkan 30 menit dan menangkap masalah yang seharusnya muncul enam minggu setelah go-live.

Validasi jumlah baris:

Objek Cara mendapatkan jumlah Salesforce Perilaku yang diharapkan
Account Laporan > Laporan Baru > Akun Baris CSV harus cocok kurang lebih 1%
Contact Metode yang sama Celah besar menunjukkan masalah pemfilteran ekspor
Opportunity Metode yang sama Periksa jumlah Terbuka + Tertutup secara terpisah
Task Gunakan konsol developer Salesforce: SELECT COUNT() FROM Task Ekspor harus cocok
Event Query konsol yang sama Ekspor harus cocok

Proses pemeriksaan sampel:

Pilih 20 rekaman Kontak acak dari ekspor Anda. Untuk masing-masing:

  1. Buka rekaman di Salesforce
  2. Verifikasi bidang utama cocok dengan baris CSV
  3. Periksa bahwa Account.Name terisi
  4. Periksa bahwa setidaknya satu Task atau Event muncul dalam timeline aktivitas terkait
  5. Jika ada rekaman yang gagal, selidiki sebelum melanjutkan

Kelengkapan bidang kustom:

Tarik daftar bidang org Anda dari Setup > Object Manager > [Objek] > Fields & Relationships. Bandingkan dengan header kolom ekspor Anda. Kolom yang hilang berarti Anda perlu mengekspor ulang dengan bidang tambahan dalam SOQL query.


Daftar Periksa Ekspor Salesforce

Gunakan ini sebelum menandatangani ekspor:

  • Semua objek yang diperlukan diidentifikasi dan terdaftar
  • Urutan ekspor mengikuti Account ke Contact ke Lead ke Opportunity ke OpportunityContactRole ke Task ke Event
  • Setiap bidang lookup menyertakan nama yang dapat dibaca manusia dari rekaman terkait bersama ID Salesforce
  • Bidang WhoId dan WhatId pada Tasks dan Events menyertakan .Name dan .Type
  • Jumlah baris divalidasi terhadap Laporan Salesforce atau query konsol developer
  • 20 rekaman acak per objek diperiksa sampelnya
  • Bidang kustom diverifikasi terhadap daftar bidang objek
  • Riwayat aktivitas difilter ke rentang tanggal yang sesuai
  • File ekspor disimpan di lokasi yang terkontrol dengan akses terbatas untuk tim migrasi

Kesalahan Umum yang Harus Dihindari

Hanya mengekspor Kontak dan melewatkan Akun. Kontak merujuk Akun. Tanpa Akun, setiap Kontak kehilangan asosiasi perusahaannya saat impor. Selalu ekspor Akun terlebih dahulu.

Kehilangan nilai bidang formula. Bidang formula Salesforce menghitung secara dinamis, tidak menyimpan nilai. Saat Anda mengekspornya, Anda mendapatkan nilai yang dihitung pada saat ekspor. Jika formula merujuk objek lain yang berubah, nilai yang diekspor tidak akan diperbarui. Ekspor bidang formula apa adanya dan catat bidang mana itu dalam peta bidang Anda.

Melupakan tipe rekaman. Jika org Anda menggunakan RecordTypes (tata letak halaman berbeda dan nilai picklist untuk kategori rekaman yang berbeda), bidang RecordType.Name harus ada dalam ekspor Anda. Perbedaan tipe rekaman sering memengaruhi cara rekaman harus dikategorikan di CRM tujuan.

Mencapai batas API di tengah ekspor. Data Loader melakukan panggilan API dalam batch. Ekspor besar, misalnya 2 juta Tasks, dapat menghabiskan alokasi API harian org Anda. Pantau kemajuan batch dan ekspor objek besar pada malam hari jika diperlukan.

Tidak mengekspor rekaman yang dihapus. Jika Anda perlu memigrasikan rekaman yang dihapus secara lunak (di Recycle Bin), Anda memerlukan query terpisah menggunakan ALL ROWS dalam SOQL. Kebanyakan tim tidak memerlukan ini, tetapi perlu dikonfirmasi dengan pemangku kepentingan sebelum ekspor. Panduan NIST tentang integritas data menyediakan kerangka yang berguna untuk mendefinisikan rekaman mana yang harus dipreservasi selama transisi sistem. Rekaman yang tidak Anda migrasikan tetapi masih perlu dipertahankan termasuk dalam arsip jangka panjang data CRM lama Anda, bukan di sistem tujuan, dan tidak begitu saja dilupakan.


Langkah Selanjutnya

Ekspor yang telah divalidasi adalah bahan baku untuk semua yang mengikuti. Tetapi file ekspor mentah belum siap untuk diimpor, mereka perlu dibersihkan, dideduplikasi, dan dipetakan bidangnya sebelum menyentuh CRM tujuan.

Langkah selanjutnya adalah pembersihan data: deduplikasi, normalisasi, dan pengayaan. Jalankan CSV yang diekspor melalui proses tersebut sebelum membuka alat impor di sistem baru Anda. Sebuah laporan McKinsey tentang strategi data menemukan bahwa perusahaan dengan disiplin tata kelola data yang kuat melihat tingkat akuisisi pelanggan 23 kali lebih tinggi, memulai migrasi dengan ekspor yang bersih dan tervalidasi adalah fondasi dari disiplin tersebut.

Jika Anda mengerjakan pemetaan bidang yang belum final, pemetaan bidang antara sistem lama dan sistem baru mencakup keputusan yang perlu dibuat sebelum pembersihan dimulai.

Dan jika Anda belum memutuskan apa yang harus dilakukan dengan semua Tasks dan Events tersebut, menyiapkan data sebelum memigrasikan apa pun mencakup keputusan strategis yang membentuk setiap keputusan ekspor dan impor di hilir.


Pelajari Lebih Lanjut