Pusat Preferensi Cloud Pemasaran Salesforce: AMPScript dan Contoh Halaman Cloud

Kode Halaman Preferensi Cloud Pemasaran Terintegrasi-Salesforce AMPscript

Kisah nyata… karier saya benar-benar meningkat lebih dari satu dekade yang lalu ketika saya memulai posisi sebagai Konsultan Integrasi untuk ExactTarget (sekarang Salesforce Marketing Cloud). Pekerjaan saya membawa saya ke seluruh dunia membantu perusahaan dalam mengembangkan integrasi yang mendalam dengan platform dan saya membangun begitu banyak pengetahuan institusional tentang platform sehingga saya dipromosikan menjadi Manajer Produk.

Tantangan Manajer Produk untuk organisasi yang sebelumnya dimiliki pengembang akhirnya membuat saya pindah. Itu adalah organisasi yang hebat, tetapi saya tidak pernah benar-benar dimiliki produk. Jadi, sementara rekan-rekan saya di bagian dukungan, penjualan, dan pemasaran produk memandang saya untuk membuat perubahan nyata… kenyataannya adalah bahwa tim pengembangan sering kali menerapkan solusi yang berbeda dan saya akan mengetahuinya beberapa hari sebelum rilis.

Salah satu proyek terakhir saya adalah mengerjakan platform skrip internal yang memungkinkan pelanggan kami menambahkan skrip ke email mereka. Saya bekerja dengan Manajer Produk lain dan kami melakukan banyak penelitian ... akhirnya memutuskan untuk mengembangkan pendekatan gaya JQuery dengan fungsi kami sendiri, tetapi termasuk kemampuan untuk meneruskan dan menggunakan array, memanfaatkan JSON, dll. Itu akan menjadi solusi… sampai mencapai pengembangan. Di awal siklus produk, perpustakaan saya dihapus dan pengembang senior menggantinya dengan Skrip AMP.

Bertahun-tahun kemudian, Mitra Salesforce perusahaan tempat saya menjadi partner sekarang melakukan integrasi perusahaan yang kompleks, dan saya mendapati diri saya terperosok dalam AMPscript setiap hari - meningkatkan logika konten email atau meluncurkan Cloud Pages. Tentu saja, rasa frustrasi bekerja hari demi hari dengan AMPscript memastikan saya bahwa keputusan yang salah dibuat pada masa itu… solusi saya akan jauh lebih elegan. Saya merasa seperti saya kembali memprogram TRS-80 dalam BASIC.

Editor yang Anda gunakan untuk Halaman Cloud tidak kenal ampun. Itu tidak menangkap masalah sederhana seperti mendeklarasikan variabel atau kesalahan sintaks dengan kode Anda. Faktanya, Anda sebenarnya dapat mempublikasikan halaman yang hanya akan menghasilkan kesalahan server 500. Ada juga dua bidang penamaan untuk halaman Anda… jangan tanya saya mengapa.

Pro-tip: Jika Halaman Cloud tidak pernah mengembalikan data sampel saat Anda akan menerbitkan dan sepertinya itu memproses selamanya ... Anda akan membuat kesalahan. Jika Anda tetap mempublikasikannya, Anda mungkin harus menghapus Halaman Cloud sama sekali dan memulai kembali. Dugaan saya adalah bahwa infrastruktur yang dibangunnya tidak cukup cerdas untuk mengidentifikasi perubahan kode dan terus memproses kode yang di-cache.

Selain itu, Anda akan senang mengetahui banyak contoh kode yang didokumentasikan memiliki kesalahan sintaks sendiri. Yay! Ini adalah pengalaman yang mengerikan… tetapi Anda tetap dapat dan harus menggunakannya karena memberikan beberapa fleksibilitas yang luar biasa.

Catatan samping: Ada Halaman Cloud baru Pengalaman… Saat tampaknya mereka baru saja mengubah tampilan halaman dan tidak memberikan informasi tambahan apa pun. Saya sebenarnya lebih menyukai versi lama untuk urutan penerbitan multi-langkah.

Sementara perusahaan saya Highbridge membangun solusi kompleks berkemampuan Ajax yang mengintegrasikan banyak sistem dan menggabungkan ekstensi data dengan AMPscript, SSJS, Cloud Pages, dan email… Saya ingin berbagi contoh sederhana tentang bagaimana Anda dapat memulai hanya dengan menggunakan AMPscript untuk menanyakan instance Salesforce Anda dan menarik kembali data. Dalam kasus ini, kolom boolean sederhana yang mempertahankan tanda berhenti berlangganan master. Anda tentu saja dapat memperpanjang kode ini untuk membangun seluruh halaman preferensi atau pusat profil yang dapat Anda gunakan.

Hasilkan Tautan Halaman Cloud dengan Data Pelanggan

Jika Anda melihat detail Halaman Cloud, Anda bisa mendapatkan ID halaman unik untuk halaman yang dapat Anda sertakan dalam email Anda.

id halaman cloud

Sintaksnya adalah sebagai berikut:

<a href="%%=RedirectTo(CloudPagesURL(361))=%%">View My Preferences</a>

AMPscript untuk Data Salesforce melalui Halaman Cloud melalui Ekstensi Data

Langkah pertama adalah membuat AMPscript untuk mendeklarasikan variabel dan mengambil data dari Salesforce untuk digunakan di halaman Anda. Dalam contoh ini, bidang boolean Salesforce saya yang menyimpan true atau false diberi nama Memilih keluar:

%%[

/* Declare EVERY variable */
VAR @contactKey,@agent,@referrer,@unsub
VAR @rs,@updateRecord,@checked
 
/* Request your ContactKey from the querystring */
Set @contactKey = Iif(Empty([_subscriberKey]),RequestParameter("contactKey"),[_subscriberKey])

/* Set unsub to false unless it is passed in the querystring */
SET @unsub = Iif(Not Empty(RequestParameter('unsub')),RequestParameter('unsub'),'false')
 
/* If unsub, then update the Salesforce field OptedOut */ 
IF NOT Empty(@unsub) THEN
  SET @updateRecord = UpdateSingleSalesforceObject('contact',@contactKey,'OptedOut', @unsub)
ENDIF

/* Retrieve the Salesforce Contact record */
Set @rs = RetrieveSalesforceObjects('contact', 'FirstName,LastName,OptedOut', 'Id', '=', @contactKey);
 
/* Get the fields from the record */
 IF RowCount(@rs) == 1 then
  var @record, @firstName, @lastName, @optout
  set @record = Row(@rs, 1)
  set @firstName = Field(@record, "FirstName")
  set @lastName = Field(@record, "LastName")
  set @optout = Field(@record, "OptedOut")
ENDIF

/* Build a string for your checkbox to be checked or not
 set @checked = '';
 IF (@optout == 'true') THEN
  set @checked = 'checked'
 ENDIF
 
]%%

Sekarang Anda dapat membuat HTML dan formulir yang memproses permintaan:

<!DOCTYPE html>
<html>
   <title>Profile Center</title>
   <body>
      <h2>Your Profile:</h2>
      %%[ if RowCount(@rs) == 1 then ]%%
      <ul>
         <li><strong>First Name:</strong> %%=v(@firstName)=%%</li>
         <li><strong>Last Name:</strong> %%=v(@lastName)=%%</li>
         <li><strong>Unsubcribed:</strong> %%=v(@optout)=%%</li>
      </ul>
      <form method="get">
       <div>
         <input type="hidden" id="contactKey" name="contactKey" value="%%=v(@contactKey)=%%">
         <input type="checkbox" id="unsub" name="masterUnsub" value="true" %%=v(@checked)=%%>
         <label for="masterUnsub">Unsubscribe From All</label>
        </div>
       <div>
         <button type="submit">Update</button>
        </div>
     </form>
      %%[ else ]%%
      <p>You don't have a record.</p>
      %%[ endif ]%%
   </body>
</html>

Itu saja… gabungkan semuanya dan Anda memiliki halaman preferensi yang diperbarui dengan catatan pelanggan Anda dan meneruskan permintaan untuk memperbarui bidang boolean (benar / salah) di Salesforce. Sekarang Anda dapat membuat kueri khusus di sekitar bidang itu untuk selalu memastikan kontak yang menyisih tidak dikirimi email apa pun!

Cara Meningkatkan Halaman Preferensi atau Pusat Profil Anda

Tentu saja, ini hanyalah penggoda tentang apa yang mungkin dilakukan dengan halaman preferensi. Peningkatan yang mungkin ingin Anda pikirkan:

  • Isi teks sebenarnya dari ekstensi data lain sehingga tim pemasaran Anda dapat memperbarui konten laman kapan pun mereka mau tanpa menyentuh kode.
  • Isi ekstensi data daftar publikasi dan putar melalui publikasi untuk menawarkan opt-in atau opt-out pada preferensi selain master berhenti berlangganan.
  • Isi alasan ekstensi data untuk menangkap mengapa pelanggan Anda menjadi master unsubscribing.
  • Mengisi informasi profil lain dari catatan Salesforce untuk memberikan informasi profil tambahan.
  • Proses halaman dengan Ajax sehingga Anda dapat mengisinya dengan lancar.
  • Tawarkan cara pendaftaran sehingga pengguna Anda dapat mengakses pusat profil pribadinya kapan saja.

Sumber Daya Tambahan untuk AMPscript

Jika Anda mencari bantuan tambahan untuk mempelajari dan menerapkan AMPscript, berikut adalah beberapa sumber yang bagus:

  • Panduan script AMPe - diatur oleh beberapa karyawan Salesforce, ini adalah database sintaks AMPscript yang cukup lengkap, meskipun contohnya sangat ringan. Jika lebih kuat, mungkin itu sepadan dengan investasi.
  • Script AMP pembuka - Salesforce's Trailhead adalah sumber belajar gratis dan dapat memandu Anda memahami dasar-dasar bahasa dengan AMPscript, SSJS, dan bagaimana keduanya dapat berinteraksi.
  • Stack Exchange untuk Salesforce - komunitas online yang hebat untuk meminta bantuan dengan banyak contoh kode AMPscript.

Ada banyak peluang dalam mengintegrasikan Halaman Cloud Anda dengan Salesforce untuk memberikan pengalaman pengguna yang superior. Dan jika perusahaan Anda kesulitan, Anda selalu dapat menghubungi kami untuk membantu!

Contact Highbridge

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.