İçerik PazarlamaCRM ve Veri PlatformlarıE-posta Pazarlama ve Otomasyon

Salesforce Marketing Cloud Tercih Merkezi: AMPScript ve Bulut Sayfası Örneği

Gerçek hikaye ... kariyerim on yıldan fazla bir süre önce, ExactTarget (şimdi Salesforce Marketing Cloud) için Entegrasyon Danışmanı olarak göreve başladığımda gerçekten yükseldi. İşim beni dünyanın dört bir yanına, şirketlere platformla derin entegrasyonlar geliştirmelerinde yardımcı olmaya götürdü ve platform hakkında o kadar çok kurumsal bilgi biriktirdim ki Ürün Yöneticisi'ne terfi ettim.

Daha önce geliştiriciye ait olan bir organizasyon için Ürün Yöneticisinin zorlukları, sonunda beni devam etmeye yönlendirdi. Harika bir organizasyondu ama ben asla Sahip olunan ürün. Bu nedenle, destek, satış ve ürün pazarlamasından sorumlu meslektaşlarım bana gerçek bir değişiklik yapmamı isterken… Gerçek şu ki geliştirme ekibi genellikle farklı bir çözüm uyguladı ve ben de piyasaya sürülmeden günler önce öğrendim.

Son projelerimden biri, müşterilerimizin e-postalarına komut dosyaları eklemelerini sağlayacak dahili bir komut dosyası oluşturma platformu üzerinde çalışmaktı. Başka bir Ürün Yöneticisi ile çalıştım ve bir ton araştırma yaptık… sonunda kendi işlevlerimizle JQuery tarzı bir yaklaşım geliştirmeye karar verdik, ancak buna dizileri geçirme ve tüketme, JSON'u kullanma vb. çözüm… geliştirme aşamasına gelene kadar. Ürün döngüsünün başlarında kitaplığım rafa kaldırıldı ve kıdemli bir geliştirici onu yenisiyle değiştirdi AMP betiği.

Yıllar sonra Satış Gücü Ortağı olduğum ortak şirket şu anda karmaşık, kurumsal entegrasyonlar yapıyor ve kendimi günlük olarak AMPscript'e saplanmış buluyorum - ya e-posta içerik mantığını geliştiriyor ya da Bulut Sayfalarını kullanıma sunuyor. Tabii ki, her gün AMPscript ile çalışmanın yarattığı hayal kırıklığı, o günlerde yanlış karar verildiğini anlamamı sağlıyor… benim çözümüm çok daha zarif olurdu. BASIC'te bir TRS-80 programlamaya geri dönmüş gibi hissediyorum.

Cloud Pages için kullandığınız düzenleyici affetmez. Kodunuzla değişken veya sözdizimi hataları bildirmek gibi basit sorunları yakalamaz. Aslında, sadece bir 500 sunucu hatası oluşturacak bir sayfa yayınlayabilirsiniz. Sayfalarınız için iki adlandırma alanı da var… nedenini sorma.

Pro-ipucu: Bir Cloud Pages, yayınlamak üzereyken asla örnek veri döndürmezse ve sonsuza kadar işleniyor gibi görünüyorsa ... bir hata atarsınız. Yine de yayınlarsanız, muhtemelen Bulut Sayfasını tamamen silmeniz ve baştan başlamanız gerekecektir. Tahminime göre, üzerine kurulu olduğu altyapı, bir kod değişikliğini tanımlayacak kadar akıllı değil ve önbelleğe alınan kodu işlemeye devam ediyor.

Bunun yanı sıra, belgelenen kod örneklerinin çoğunun kendi sözdizimi hataları olduğunu bilmekten memnun olacaksınız. Yay! Bu korkunç bir deneyim… ama yine de kullanabilirsiniz ve kullanmalısınız çünkü inanılmaz bir esneklik sağlar.

Kenar notu: Yeni bir Bulut Sayfası var Deneyim… Sayfanın dış görünümünü yeniden oluşturmuş gibi göründüğü ve herhangi bir ek bilgi sağlamadığı yer. Aslında çok adımlı yayın sekansı için eski sürümü daha çok seviyorum.

Benim şirketim DK New Media birden çok sistemi entegre eden ve veri uzantılarını AMPscript, SSJS, Cloud Pages ve e-posta ile birleştiren karmaşık, Ajax özellikli çözümler oluşturur ... Salesforce örneğinizi sorgulamak ve çekmek için AMPscript kullanarak nasıl başlayabileceğinize dair basit bir örnek paylaşmak istedim geri veriler. Bu durumda, bir ana abonelik iptali bayrağını tutan basit bir boole alanı. Elbette, kullanabileceğiniz tüm bir tercih sayfası veya profil merkezi oluşturmak için bu kodu genişletebilirsiniz.

Abone Verileriyle Bulut Sayfası Bağlantısı Oluşturun

Bulut Sayfası ayrıntılarınızı görüntülerseniz, e-postalarınıza ekleyebileceğiniz sayfa için benzersiz sayfa kimliği edinebilirsiniz.

bulut sayfası kimliği

Sözdizimi aşağıdaki gibidir:

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

Veri Uzantıları aracılığıyla Cloud Pages aracılığıyla Salesforce Verileri için AMPscript

İlk adım, değişkenleri bildirmek ve sayfanızda kullanmak üzere Salesforce'tan verileri almak için AMPscript'inizi oluşturmaktır. Bu örnekte, doğru veya yanlışı içeren Salesforce boole alanım adlandırılmıştır Devre Dışı Bırakıldı:

%%[

/* 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
 
]%%

Artık isteği işleyen HTML'nizi ve formunuzu oluşturabilirsiniz:

<!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>

Hepsi bu kadar… hepsini bir araya getirin ve abone kaydınızla güncellenen ve Salesforce'ta bir boole alanını (doğru / yanlış) güncelleme isteğini ileten bir tercih sayfanız var. Artık, devre dışı bırakılan kişilere herhangi bir e-posta gönderilmemesini sağlamak için bu alanın etrafında özel sorgular oluşturabilirsiniz!

Tercih Sayfanızı veya Profil Merkezinizi Nasıl Geliştirebilirsiniz?

Tabii ki, bu sadece bir tercih sayfasıyla nelerin mümkün olabileceğine dair bir bilgi. Düşünmek isteyebileceğiniz geliştirmeler:

  • Gerçek metni başka bir veri uzantısından doldurun, böylece pazarlama ekibiniz koda dokunmadan istedikleri zaman sayfanın içeriğini güncelleyebilir.
  • Bir yayın listesi veri uzantısını doldurun ve ana abonelik iptaline ek olarak tercihlere dahil olmayı veya vazgeçmeyi teklif etmek için yayınlar arasında döngü yapın.
  • Abonelerinizin neden ana abonelikten çıktığını anlamak için bir neden veri uzantısı doldurun.
  • Ek profil bilgileri sağlamak için Salesforce kaydından diğer profil bilgilerini doldurun.
  • Sayfayı, sorunsuz bir şekilde doldurabilmek için Ajax ile işleyin.
  • Kullanıcınızın istediği zaman kişisel profil merkezine erişebilmesi için bir kayıt yöntemi sunun.

AMPscript için Ek Kaynaklar

AMPscript'i öğrenmek ve dağıtmak için ek yardım arıyorsanız işte harika kaynaklar:

  • AMPscript Rehberi – bazı Salesforce çalışanları tarafından düzenlenen bu, örnekler gerçekten hafif olmasına rağmen oldukça eksiksiz bir AMPscript söz dizimi veritabanıdır. Daha sağlam olsaydı, yatırıma değer olabilirdi.
  • Öne Çıkan AMPscript - Salesforce'un Trailhead'i ücretsiz bir öğrenim kaynağıdır ve hem AMPscript, hem de SSJS ile dilin temelleri ve ikisinin nasıl etkileşim kurabileceği konusunda size yol gösterebilir.
  • Salesforce için Yığın Değişimi - tonlarca AMPscript kod örneğiyle yardım isteyen harika bir çevrimiçi topluluk.

Üstün bir kullanıcı deneyimi sağlamak için Bulut Sayfalarınızı Salesforce ile entegre etmek için çok sayıda fırsat var. Ve şirketiniz zorlanıyorsa, yardımcı olmak için her zaman bizimle iletişime geçebilirsiniz!

Bize Ulaşın DK New Media

Douglas Karr

Douglas Karr CMO'su AÇIK İÇGÖRÜLER ve kurucusu Martech Zone. Douglas düzinelerce başarılı MarTech startup'ına yardımcı oldu, Martech satın almaları ve yatırımlarında 5 milyar doların üzerindeki durum tespitine yardımcı oldu ve şirketlere satış ve pazarlama stratejilerini uygulama ve otomatikleştirme konusunda yardımcı olmaya devam ediyor. Douglas, uluslararası alanda tanınan bir dijital dönüşüm ve MarTech uzmanı ve konuşmacısıdır. Douglas aynı zamanda Dummie's Guide ve iş liderliği kitabının yayınlanmış yazarıdır.

İlgili Makaleler

Başa dön düğmeye
Kapanış

Adblock Algılandı

Martech Zone sitemizden reklam geliri, bağlı kuruluş bağlantıları ve sponsorluklar yoluyla para kazandığımız için size bu içeriği ücretsiz olarak sağlayabilir. Sitemizi gezerken reklam engelleyicinizi kaldırırsanız seviniriz.