Bahasa Melayu

Mengeksport dengan Bersih dari Salesforce: Panduan Eksport Sedia Migrasi

Pasukan Sales Ops di sebuah syarikat SaaS mid-market menghabiskan enam minggu menyediakan migrasi CRM mereka. Mereka mengeksport Contact dan Account, menyemak beberapa rekod secara spot-check, dan mengisytiharkan eksport selesai. Tiga hari selepas go-live, CRM baharu mereka menunjukkan sifar sejarah aktiviti untuk 4,200 kenalan. Pasukan itu tidak mengeksport Task atau Event, iaitu dua objek Salesforce tempat setiap log panggilan, e-mel, dan mesyuarat berada. Tiga tahun sejarah interaksi, lenyap.

Eksport itu sendiri mengambil masa 20 minit. Pemulihan mengambil masa tiga minggu pembinaan semula manual dari arkib e-mel dan ingatan wakil jualan. Tidak semua rekod kembali.

Panduan ini membimbing melalui proses eksport Salesforce yang benar-benar memelihara segalanya: objek, hubungan, medan tersuai, dan sejarah aktiviti. Ikutinya mengikut urutan kerana urutannya penting.


Apa yang Data Salesforce Dipetakan Kepada

Sebelum anda menyentuh alat eksport, anda perlu memahami apa yang anda ekstrak. Salesforce mengatur data ke dalam objek. Kebanyakan pasukan mengetahui yang jelas. Yang pasukan terlepas itulah yang menyebabkan masalah. Kerja pemetaan ini berkait terus dengan pemetaan medan antara sistem warisan dan baharu. Anda tidak dapat membina peta medan yang boleh dipercayai tanpa terlebih dahulu mengetahui objek yang anda ekstrak.

Menurut penyelidikan Gartner tentang kualiti data CRM, kualiti data yang lemah menelan belanja organisasi purata $12.9 juta setahun, dan migrasi CRM ialah salah satu momen berisiko tinggi untuk degradasi kualiti data.

Objek yang mesti anda eksport:

Objek Apa yang disimpan Kesilapan biasa
Account Rekod syarikat, induk untuk kebanyakan hubungan Dieksport terakhir, memutuskan pautan Contact
Contact Individu yang dikaitkan dengan Account Dieksport tanpa hubungan Account
Lead Prospek yang belum layak, berasingan dari Contact Dilupakan sepenuhnya jika pasukan "tidak menggunakan Lead"
Opportunity Urusan, dikaitkan dengan Account dan Contact OpportunityContactRole (objek simpang) sering terlepas
Task Log panggilan, tugasan, susulan Hampir selalu dilupakan
Event Mesyuarat, peristiwa kalendar Dianggap pilihan, jarang dieksport
Case Tiket sokongan, jika digunakan Dilangkau oleh pasukan jualan yang tidak memiliki Sokongan
Objek tersuai Apa sahaja yang org anda bina Tidak kelihatan sama sekali melainkan seseorang mendokumenkannya

Graf hubungan berjalan Account ke Contact ke Opportunity, dengan Task dan Event dilampirkan kepada ketiga-tiganya. Jika anda mengeksport Contact tanpa Account, setiap Contact kehilangan asosiasi syarikatnya. Jika anda melangkau Task dan Event, anda kehilangan garis masa aktiviti sepenuhnya.

Tulis setiap objek yang digunakan oleh org anda sebelum anda bermula. Semak dengan pentadbir Salesforce anda jika anda tidak pasti.


Langkah 1: Gunakan Data Export atau Data Loader, dan Bila Masing-masing Sesuai

Salesforce memberi anda dua alat eksport utama. Ia tidak boleh digunakan secara bergantian.

Data Export (Persediaan > Data Export)

  • Dijadual mingguan atau dijalankan atas permintaan melalui UI
  • Mengeksport semua dalam satu fail zip mengikut objek
  • Had keras: kira-kira 512MB setiap fail, org besar mencapai had ini pada Contact atau Opportunity
  • Tiada penapisan, anda mendapat setiap rekod dalam setiap objek
  • Sesuai untuk: Org kecil hingga sederhana, eksport penuh awal, pasukan tanpa kedalaman pentadbir Salesforce

Data Loader

  • Aplikasi desktop bebas (Windows/Mac)
  • Mengendalikan volum besar, telah diuji sehingga puluhan juta rekod
  • Memerlukan pertanyaan SOQL, anda mengawal dengan tepat medan apa yang keluar
  • Membolehkan anda menapis mengikut julat tarikh, jenis rekod, atau sebarang nilai medan
  • Sesuai untuk: Org besar, eksport terpilih, objek tersuai dengan hubungan kompleks

Untuk kebanyakan migrasi, Data Loader ialah pilihan yang betul. Data Export baik untuk org di bawah 50,000 rekod setiap objek, tetapi begitu anda berurusan dengan hubungan medan yang kompleks atau sejarah aktiviti yang besar, Data Loader memberi anda kawalan yang anda perlukan. Jika anda tidak pasti sama ada org anda layak sebagai migrasi yang kompleks, menyediakan data sebelum anda memindahkan apa-apa membantu anda menentukan skop kerja sebelum eksport bermula.

Nota tentang had kadar API: Data Loader menggunakan API Salesforce. Jika org anda mempunyai integrasi lain yang berjalan serentak, anda boleh mencapai had kadar di tengah-tengah eksport. Jadualkan eksport besar semasa waktu di luar puncak atau semak dengan pentadbir Salesforce anda tentang peruntukan API anda. Dokumentasi pembangun Data Loader Salesforce merangkumi konfigurasi saiz kelompok dan had penggunaan API secara terperinci.


Langkah 2: Eksport mengikut Urutan yang Betul

Kebergantungan objek dalam Salesforce bermakna sesetengah rekod tidak boleh diimport secara bermakna ke dalam sistem baharu melainkan rekod yang dirujuk sudah wujud di sana. Eksport dalam urutan yang salah dan anda akan mempunyai fail CSV yang penuh dengan rekod yatim.

Urutan eksport yang diperlukan:

  1. Account
  2. Contact (merujuk Account)
  3. Lead (bebas, tetapi eksport awal)
  4. Opportunity (merujuk Account)
  5. OpportunityContactRole (objek simpang yang menghubungkan Opportunity kepada Contact)
  6. Task (merujuk Contact, Lead, Opportunity, Account)
  7. Event (sama seperti Task)
  8. EventRelation (jika org anda menggunakan mesyuarat bersama dengan berbilang peserta)
  9. Case (jika digunakan)
  10. Objek tersuai (eksport mengikut urutan kebergantungan mereka sendiri)

Mengapa Account dahulu? Kerana Contact merujuk AccountId. Apabila anda mengimport ke dalam sistem destinasi, Contact perlu merujuk rekod Account yang sudah wujud. Eksport Account dahulu, import ia dahulu, kemudian kendalikan Contact dengan asosiasi Account yang betul.

OpportunityContactRole ialah pembunuh senyap. Ia ialah objek simpang yang menyimpan Contact mana yang dikaitkan dengan Opportunity mana. Langkaukannya dan Opportunity anda tiba di CRM baharu tanpa hubungan kenalan. Kebanyakan pasukan terlupa ia wujud. Prinsip yang sama terpakai pada mengendalikan aktiviti sejarah, nota, dan e-mel. Data hubungan dan sejarah aktiviti kedua-duanya memerlukan keputusan eksport yang disengajakan, bukan sekadar "eksport semua" secara lalai.


Langkah 3: Kendalikan Lookup dan ID

Di sinilah eksport menjadi penting secara teknikal. Setiap medan lookup dalam Salesforce mengandungi ID rekod Salesforce, iaitu rentetan alfanumerik 18 aksara yang tidak bermakna di luar Salesforce. Apabila anda membuka rekod Contact, medan AccountId mengandungi sesuatu seperti 001A000001B2cDEFAB. ID tersebut tidak wujud dalam CRM baharu anda.

Apa yang perlu dilakukan:

Untuk setiap medan lookup, eksport pengecam bermakna rekod berkaitan bersama-sama dengan ID Salesforce. Untuk Contact, ini bermakna mengeksport kedua-dua AccountId dan Account.Name dalam baris yang sama. Untuk Opportunity, eksport kedua-dua AccountId dan Account.Name, beserta OwnerId dan Owner.Name.

Dalam Data Loader, pertanyaan SOQL anda kelihatan seperti:

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

Notasi titik (Account.Name) menarik medan berkaitan secara sebaris. Ini memberi langkah pembersihan dan import anda rujukan yang boleh dibaca manusia bersama-sama dengan ID Salesforce.

ID luaran: Jika org anda menggunakan medan ID luaran tersuai (biasa dalam org yang mengintegrasikan dengan ERP atau sistem pengebilan), eksport medan tersebut juga. Ia menjadi kunci gabung dalam sistem destinasi.

Jadual rujukan terjemahan ID:

Medan eksport Apa ia Apa yang anda perlukan bersamanya
AccountId pada Contact ID rekod Account Salesforce Account.Name
OwnerId pada mana-mana objek ID rekod Pengguna Salesforce Owner.Name, Owner.Email
ContactId pada Opportunity ID rekod Contact Salesforce Contact.FirstName, Contact.LastName, Contact.Email
WhoId pada Task ID Contact atau Lead WhoId.Name (medan "Who")
WhatId pada Task ID Account, Opportunity, atau Case WhatId.Name (medan "What")

Eksport nama hubungan ini bersama-sama dengan setiap ID. Anda akan menggunakannya semasa pemetaan medan pada peringkat seterusnya.


Langkah 4: Eksport Aktiviti dengan Betul

Task dan Event berada dalam objek mereka sendiri. Ia tidak terbenam dalam rekod Contact atau Opportunity. Dan ia mempunyai medan hubungan mereka sendiri yang memerlukan rawatan yang sama seperti medan lookup di atas.

Untuk Task (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 ialah orang yang tugasan itu berkaitan (Contact atau Lead). WhatId ialah rekod berkaitan (Opportunity, Account, atau Case). Eksport kedua-dua ID dan nama.

Untuk Event:

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

Penapisan julat tarikh: Kebanyakan pasukan tidak memerlukan setiap Task dan Event dari awal zaman. Tapis kepada 2-3 tahun lepas melainkan ada sebab perniagaan tertentu untuk pergi lebih jauh. Eksport aktiviti yang tidak ditapis dari org Salesforce yang matang boleh mencapai jutaan rekod, banyak daripadanya adalah peristiwa sistem yang dijana secara automatik tanpa sebarang kandungan sebenar. Lihat mengendalikan aktiviti sejarah, nota, dan e-mel untuk rangka kerja keputusan tentang apa yang bernilai dipindahkan berbanding diarkibkan.

Medan WhoId.Type memberitahu anda sama ada tugasan dikaitkan dengan Contact atau Lead. Eksportnya supaya anda boleh menghala dengan betul semasa import.


Langkah 5: Sahkan Eksport Anda Sebelum Menutup Salesforce

Jangan mula membersihkan sehingga anda mengesahkan eksport adalah lengkap. Semakan ini mengambil masa 30 minit dan menangkap masalah yang sebaliknya akan timbul enam minggu selepas go-live.

Pengesahan kiraan baris:

Objek Cara mendapatkan kiraan Salesforce Tingkah laku yang dijangkakan
Account Laporan > Laporan Baharu > Account Baris CSV sepatutnya sepadan ± 1%
Contact Kaedah yang sama Jurang besar menunjukkan isu penapisan eksport
Opportunity Kaedah yang sama Semak kiraan Terbuka + Tertutup secara berasingan
Task Gunakan konsol pembangun Salesforce: SELECT COUNT() FROM Task Eksport sepatutnya sepadan
Event Pertanyaan konsol yang sama Eksport sepatutnya sepadan

Proses spot-check:

Pilih 20 rekod Contact secara rawak dari eksport anda. Untuk setiap satu:

  1. Buka rekod dalam Salesforce
  2. Sahkan medan utama sepadan dengan baris CSV
  3. Semak bahawa Account.Name diisi
  4. Semak bahawa sekurang-kurangnya satu Task atau Event muncul dalam garis masa aktiviti berkaitan
  5. Jika mana-mana rekod gagal, siasat sebelum meneruskan

Kelengkapan medan tersuai:

Tarik senarai medan org anda dari Persediaan > Pengurus Objek > [Objek] > Medan & Hubungan. Bandingkannya dengan pengepala lajur eksport anda. Lajur yang tiada bermakna anda perlu mengeksport semula dengan medan tambahan dalam pertanyaan SOQL anda.


Senarai Semak Eksport Salesforce

Gunakan ini sebelum menandatangani eksport:

  • Semua objek yang diperlukan dikenal pasti dan disenaraikan
  • Urutan eksport mengikuti Account ke Contact ke Lead ke Opportunity ke OpportunityContactRole ke Task ke Event
  • Setiap medan lookup menyertakan nama rekod berkaitan yang boleh dibaca manusia bersama-sama dengan ID Salesforce
  • Medan WhoId dan WhatId pada Task dan Event menyertakan .Name dan .Type
  • Kiraan baris disahkan terhadap Laporan Salesforce atau pertanyaan konsol pembangun
  • 20 rekod rawak disemak secara spot-check setiap objek
  • Medan tersuai disahkan terhadap senarai medan objek
  • Sejarah aktiviti ditapis kepada julat tarikh yang sesuai
  • Fail eksport disimpan di lokasi terkawal dengan akses terhad kepada pasukan migrasi

Perangkap Biasa

Mengeksport hanya Contact dan terlepas Account. Contact merujuk Account. Tanpa Account, setiap Contact kehilangan asosiasi syarikatnya semasa import. Sentiasa eksport Account dahulu.

Kehilangan nilai medan formula. Medan formula Salesforce dikira secara dinamik, ia tidak menyimpan nilai. Apabila anda mengeksportnya, anda mendapat nilai yang dikira pada masa eksport. Jika formula merujuk objek lain yang berubah, nilai yang dieksport tidak akan dikemas kini. Eksport medan formula sebagaimana adanya dan catat medan mana dalam peta medan anda.

Terlupa jenis rekod. Jika org anda menggunakan RecordType (susun atur halaman yang berbeza dan nilai senarai pilihan untuk kategori rekod yang berbeza), medan RecordType.Name mesti ada dalam eksport anda. Perbezaan jenis rekod sering mempengaruhi cara rekod sepatutnya dikategorikan dalam CRM destinasi.

Mencapai had kadar API di tengah-tengah eksport. Data Loader membuat panggilan API dalam kelompok. Eksport besar seperti 2 juta Task boleh menghabiskan peruntukan API harian org anda. Pantau kemajuan kelompok dan eksport objek besar semalam jika perlu.

Tidak mengeksport rekod yang dipadam. Jika anda perlu memindahkan rekod yang telah dipadam secara lembut (dalam Tong Kitar Semula), anda memerlukan pertanyaan berasingan menggunakan ALL ROWS dalam SOQL. Kebanyakan pasukan tidak memerlukannya, tetapi berbaloi untuk mengesahkan dengan pihak berkepentingan sebelum eksport. Garis panduan NIST tentang integriti data menyediakan rangka kerja yang berguna untuk menentukan rekod mana yang mesti dipelihara semasa peralihan sistem. Rekod yang anda tidak pindahkan tetapi masih perlu dikekalkan wajar disimpan dalam arkib jangka panjang data CRM warisan anda, bukan dalam sistem destinasi, dan tidak hanya dilupakan.


Langkah Seterusnya

Eksport yang disahkan ialah bahan mentah untuk semua yang berikutnya. Tetapi fail eksport mentah tidak bersedia untuk diimport. Ia perlu dibersihkan, dinyahpendua, dan dipetakan medan sebelum menyentuh CRM destinasi.

Langkah seterusnya ialah pembersihan data: penyahpendua, penormalan, dan pengayaan. Jalankan CSV yang dieksport melalui proses tersebut sebelum membuka alat import dalam sistem baharu anda. Laporan McKinsey tentang strategi data mendapati syarikat dengan disiplin tadbir urus data yang kukuh melihat kadar pemerolehan pelanggan 23 kali lebih tinggi. Memulakan migrasi dengan eksport yang bersih dan disahkan ialah asas disiplin tersebut.

Jika anda bekerja dari pemetaan medan yang belum difinalkan, memetakan medan antara sistem warisan dan baharu merangkumi keputusan yang perlu anda buat sebelum pembersihan bermula.

Dan jika anda belum memutuskan apa yang hendak dilakukan dengan semua Task dan Event tersebut, menyediakan data sebelum anda memindahkan apa-apa merangkumi keputusan strategik yang membentuk setiap keputusan eksport dan import di hiliran.


Ketahui Lebih Lanjut