Salesforce Marketing Cloud Preference Center: Pananglitan sa AMPScript ug Cloud Page

Ang AMPscript Salesforce-Integrated Marketing Cloud Code sa Panid sa Kagustohan

Tinuod nga istorya… Ang akong karera nagsugod gyud sa kapin napulo ka tuig ang miagi sa pagsugod nako og posisyon isip usa ka Integration Consultant alang sa ExactTarget (karon Salesforce Marketing Cloud). Gikuha ako sa akong trabaho sa tibuuk kalibutan nga ningtabang sa mga kompanya sa pagpalambo sa lawom nga mga panagsama sa plataporma ug gitukod nako ang daghang kahibalo sa institusyon sa platform nga gipasiugda ako sa Product Manager.

Ang mga hagit sa Product Manager alang sa usa ka organisasyon nga kaniadto gipanag-iya sa developer sa katapusan nagdala kanako nga magpadayon. Kini usa ka maayong organisasyon, apan dili gyud ako tinuud gipanag-iya ang produkto. Mao nga, samtang ang akong mga kaedad sa suporta, pamaligya, ug pagpamaligya sa produkto nagtan-aw kanako aron makahimo ako usa ka tinuud nga pagbag-o… ang tinuod mao nga ang tim sa pag-uswag kanunay nga nagpatuman us aka lahi nga solusyon ug mahibal-an nako mga adlaw sa wala pa buhian.

Ang usa sa akong ulahi nga proyekto mao ang pagtrabaho sa usa ka internal nga platform sa script nga makahimo sa among mga kustomer nga makadugang script sa ilang mga email. Nagtrabaho ako kauban ang usa pa nga Manager sa Produkto ug naghimo kami usa ka tonelada nga panukiduki… sa katapusan nagpili nga maghimo usa ka pamaagi nga estilo sa JQuery uban ang among kaugalingon nga mga gimbuhaton, apan lakip ang abilidad sa pagpasa ug pag-ut-ut sa mga array, gamiton ang JSON, ug uban pa. solusyon… hangtod nga naigo ang pag-uswag. Sayo sa siklo sa produkto, gibasura ang akong librarya ug gipulihan kini sa usa ka tigulang nga tig-develop AMPscript.

Paglabay sa mga tuig, ang Kasosyo sa Salesforce Ang kompaniya nga kauban nako karon naghimo sa komplikado, mga panagsama sa negosyo, ug nakita nako ang akong kaugalingon nga nahulog sa AMPscript sa adlaw-adlaw - bisan ang pagpaayo sa lohika sa sulud sa email o paglansad sa Mga Panid sa Cloud. Bitaw, ang kasagmuyo sa adlaw adlaw nga pagtrabaho kauban ang AMPscript nagsiguro kanako nga ang sayup nga pagbuut gihimo kaniadtong mga panahona… ang akong solusyon mahimo’g labi ka elegante. Gibati nako nga mibalik ako sa pagprograma sa usa ka TRS-80 sa BASIC.

Ang editor nga imong gigamit alang sa mga Panid sa Cloud dili gipasaylo. Wala kini madakup nga yano nga mga isyu sama sa pagdeklara sa mga variable o sayup sa syntax sa imong code. Sa tinuud, mahimo ka nga mag-publish usa ka panid nga yano nga makahimo usa ka 500 nga sayup sa server. Adunay usab duha nga mga natad sa paghingalan alang sa imong mga panid… ayaw ako ipangutana ngano.

Pro-tumoy: Kung ang usa ka Panid sa Cloud wala gyud ibalik ang sampol nga datos kung hapit na nimo mapatik ug ingon kini ang pagproseso hangtod sa hangtod… maglabay ka usa ka sayup. Kung nagpatik ka bisan unsa, tingali kinahanglan nimo nga tangtangon ang tanan nga Panid sa Cloud ug magsugod pag-usab. Akong pangagpas nga ang imprastraktura nga gitukod niini dili igo nga intelihente aron mahibal-an ang usa ka pagbag-o sa code ug ipadayon ang pagproseso sa cache code.

Gawas niana, malipay ka nga mahibal-an ang kadaghanan sa mga naka-dokumento nga mga sample sa code adunay kaugalingon nga mga sayup sa syntax. Yay! Kini makalilisang nga kasinatian… apan mahimo nimo pa ug kinahanglan gamiton kini tungod kay naghatag kini katingad-an nga pagka-flexible.

Dugang nga nota: Adunay usa ka bag-ong Panid sa Cloud Kasinatian… Kung diin kini tan-awon usab nila nga panit ang panid ug wala kini gihatag nga dugang nga kasayuran. Sa tinuud gusto nako ang daan nga bersyon nga labi ka maayo alang sa sunud-sunod nga pagmantala sa daghang mga lakang.

Samtang ang akong kompanya Highbridge naggama mga komplikado, mga solusyon nga nakaayo sa Ajax nga naghiusa sa daghang mga sistema ug naghiusa sa mga extension sa datos sa AMPscript, SSJS, Cloud Pages, ug email… Gusto nako nga ipaambit ang usa ka yano nga pananglitan kung giunsa ka makasugod sa yano nga paggamit sa AMPscript aron pangutan-on ang imong pananglitan sa Salesforce ug pagbira balik nga datos. Sa kini nga kaso, usa ka yano nga uma sa boolean nga nagpabilin sa usa ka agalon nga unsubscribe nga bandila. Mahimo nimo, siyempre, ipadako ang kini nga code aron mahuman ang usa ka tibuuk nga panid sa gusto o sentro sa profile nga mahimo nimo gamiton.

Paghimo Usa ka Cloud-Page Link nga adunay Data sa Subscriber

Kung nakita nimo ang mga detalye sa imong Panid sa Cloud, mahimo nimo makuha ang talagsaon nga panid sa ID alang sa panid nga mahimo nimong ilakip sa imong mga email.

cloud panid id

Ang syntax mao ang mosunod:

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

Ang AMPscript alang sa Data sa Salesforce pinaagi sa Mga Panid sa Cloud pinaagi sa Mga Extension sa Data

Ang una nga lakang mao ang pagtukod sa imong AMPscript aron magdeklara mga variable ug makuha ang datos gikan sa Salesforce aron magamit sa imong panid. Niini nga pananglitan, ang akong Salesforce boolean field nga naghupot sa tinuud o sayup ginganlan Gipili sa Pagpili:

%%[

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

Karon mahimo nimo nga mapalig-on ang imong HTML ug porma nga nagproseso sa hangyo:

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

Kana ra… gihiusa ang tanan ug adunay ka usa ka panid sa pagpalabi nga gi-update sa imong rekord sa suskritor ug gipasa ang usa ka hangyo nga i-update ang usa ka boolean field (tinuod / bakak) sa Salesforce. Karon mahimo nimo nga himuon ang mga naandan nga pangutana sa palibot sa natad aron kanunay masiguro nga ang mga kontak nga napili wala gipadala bisan unsang email!

Giunsa ang Pagpaayo sa Imong Panid sa Gusto o Profile Center

Siyempre, kini usa ra ka teaser kung unsa ang mahimo sa usa ka panid sa pagpalabi. Mga pagpaayo nga mahimo nimong hunahunaon:

  • Populate ang tinuud nga teksto gikan sa lain nga extension sa datos aron ang imong koponan sa pamaligya mahimo’g ma-update ang sulud sa panid bisan kanus-a nila gusto nga dili hilabtan ang code.
  • Pagpili sa usa ka lista sa pagdugang sa lista sa data ug pag-loop pinaagi sa mga publikasyon aron matanyag ang opt-in o opt-out sa mga gusto dugang sa usa ka master unsubscribe.
  • Pagpuyo usa ka hinungdan nga extension sa datos aron makuha kung ngano nga ang imong mga suskritor master nga mag-unsubscribe.
  • Populate ang uban pang kasayuran sa profile gikan sa talaan sa Salesforce aron makahatag dugang nga kasayuran sa profile.
  • Iproseso ang panid sa Ajax aron mahimo nimo kini mapuy-an nga pagpuy-an.
  • Nagtanyag usa ka paagi sa pagrehistro aron ang imong ninggamit maka-access sa ilang personal nga profile center bisan unsang orasa.

Dugang nga Mga Kapanguhaan alang sa AMPscript

Kung nangita ka dugang nga tabang alang sa pagkat-on ug pag-deploy sa AMPscript, aniay pila ka daghang kahinguhaan:

  • Panudlo sa AMPscripte - giorganisar sa pipila nga mga empleyado sa Salesforce, kini usa ka hingpit nga kompleto nga database sa syntax sa AMPscript, bisan kung ang mga ehemplo tinuod nga gaan. Kung kini labi ka malig-on, tingali kini angayan sa pagpamuhunan.
  • Trailhead AMPscript - Ang Salesforce's Trailhead usa ka libre nga kahinguhaan sa pagkat-on ug makalakaw kanimo sa mga punoan nga sinultian gamit ang parehas nga AMPscript, SSJS, ug kung giunsa ang duha makigsulti.
  • Stack Exchange alang sa Salesforce - usa ka maayong komunidad sa online alang sa paghangyo tabang uban ang usa ka tonelada nga mga sample sa AMPscript code.

Adunay usa ka tonelada nga higayon sa paghiusa sa imong mga Panid sa Cloud sa Salesforce aron makahatag usa ka labaw nga kasinatian sa gumagamit. Ug kung ang imong kompanya naglisud, mahimo nimo kami makontak kanunay aron makatabang!

Contact Highbridge

Unsay imong hunahuna?

Kini nga site naggamit sa Akismet sa pagpakunhod sa spam. Hibal-i kon giunsa ang pagproseso sa datos sa imong komento.