Salesforce Marketing Cloud-voorkeursentrum: voorbeeld van AMPScript en Cloud Page

AMPscript Salesforce-geïntegreerde bemarkingswolk-voorkeurbladsykode

Ware verhaal ... my loopbaan het regtig 'n dekade gelede begin toe ek 'n pos as 'n integrasiekonsultant vir ExactTarget (nou Salesforce Marketing Cloud) begin. My werk het my regoor die wêreld help om ondernemings te help om diep integrasies met die platform te ontwikkel, en ek het soveel institusionele kennis van die platform opgebou dat ek tot produkbestuurder bevorder is.

Die uitdagings van produkbestuurder vir 'n organisasie wat voorheen ontwikkelaarbesit was, het my uiteindelik laat beweeg. Dit was 'n wonderlike organisasie, maar ek het nooit regtig nie besit die produk. Dus, terwyl my eweknieë in ondersteuning, verkope en produkbemarking na my gekyk het om 'n werklike verandering te maak ... was die werklikheid dat die ontwikkelingspan dikwels 'n ander oplossing geïmplementeer het, en ek sou dit voor die vrystelling uitvind.

Een van my laaste projekte was om te werk aan 'n interne scriptplatform wat ons kliënte in staat sou stel om script by hul e-pos te voeg. Ek het saam met 'n ander produkbestuurder gewerk en ons het baie navorsing gedoen ... en uiteindelik besluit om 'n JQuery-stylbenadering te ontwikkel met ons eie funksies, maar ook die vermoë om skikkings te slaag en te verbruik, JSON te gebruik, ens. Dit sou nogal die oplossing ... totdat dit die ontwikkeling getref het. Vroeg in die produksiklus is my biblioteek geskrap en 'n senior ontwikkelaar het dit vervang AMPscript.

Jare later het die Salesforce-vennoot 'n maatskappy waarin ek 'n vennoot is, doen nou komplekse ondernemingsintegrasies, en ek is daagliks vasgevang in AMPscript - die verbetering van die e-posinhoud van die e-pos of die implementering van Cloud Pages. Die frustrasie om dag in en dag uit met AMPscript te werk, verseker my natuurlik dat die verkeerde besluit in daardie dae geneem is ... my oplossing sou baie eleganter gewees het. Ek voel dat ek weer 'n TRS-80 in BASIC moet programmeer.

Die redakteur wat u vir Cloud Pages gebruik, is onvergewensgesind. Dit vang nie eenvoudige probleme op soos om veranderlikes of sintaksfoute met u kode te verklaar nie. In werklikheid kan u 'n bladsy publiseer wat bloot 'n 500-bedienerfout sal genereer. Daar is ook twee naamvelde vir u bladsye ... moet my nie vra hoekom nie.

Pro-tip: As 'n Cloud Pages nooit voorbeelddata teruggee as u op die punt staan ​​om te publiseer nie, en dit lyk of dit vir ewig verwerk word, sal u 'n fout begaan. As u in elk geval publiseer, sal u waarskynlik die Cloud Page moet verwyder en van voor af moet begin. My raaiskoot is dat die infrastruktuur waarop dit gebou is, nie intelligent genoeg is om 'n kodeverandering te identifiseer nie;

Afgesien daarvan, sal u bly wees om te weet dat baie van die gedokumenteerde kode-monsters hul eie sintaksfoute het. Yay! Dit is 'n aaklige ervaring ... maar u kan dit steeds gebruik en moet gebruik, want dit bied 'n wonderlike buigsaamheid.

Kantnoot: Daar is 'n nuwe wolkbladsy Experience... waar dit lyk asof hulle die bladsy net weer gevlek het en dit geen bykomende inligting verskaf nie. Ek hou eintlik van die ou weergawe beter vir die publikasie-reeks met meerdere stappe.

Terwyl my geselskap Highbridge bou komplekse, Ajax-geaktiveerde oplossings op wat veelvuldige stelsels integreer en data-uitbreidings met AMPscript, SSJS, Cloud Pages en e-pos insluit ... Ek wou 'n eenvoudige voorbeeld deel van hoe u kan begin om AMPscript te gebruik om u Salesforce-voorbeeld te ondersoek terug data. In hierdie geval, 'n eenvoudige booleaanse veld wat 'n meester-uitteken-vlag behou. U kan hierdie kode natuurlik uitbrei om 'n volledige voorkeurbladsy of profielsentrum uit te bou wat u kan gebruik.

Genereer 'n wolkbladsy-skakel met intekenaardata

As u u wolkbladsybesonderhede sien, kan u die unieke bladsy-ID verkry vir die bladsy wat u in u e-pos kan insluit.

wolkbladsy-ID

Die sintaksis is soos volg:

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

AMPscript vir Salesforce-data via wolkbladsye via data-uitbreidings

Die eerste stap is om u AMPscript op te stel om veranderlikes te verklaar en die data van Salesforce op te haal wat u op u bladsy moet gebruik. In hierdie voorbeeld word my Salesforce booleaanse veld met die waar of onwaar naam genoem Besluit om nie deel te neem nie:

%%[

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

Nou kan u u HTML en vorm opbou wat die versoek verwerk:

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

Dit is dit ... sit alles saam en u het 'n voorkeurbladsy wat opgedateer is met u intekenaarrekord en 'n versoek deurgee om 'n booleaanse veld (waar / onwaar) in Salesforce op te dateer. Nou kan u aangepaste navrae rondom daardie veld opstel om altyd te verseker dat kontakte wat uitgeskakel word, geen e-pos gestuur word nie!

Hoe u u voorkeurblad of profielsentrum kan verbeter

Natuurlik is dit slegs 'n voorskou van wat moontlik is met 'n voorkeurbladsy. Verbeterings waaroor u kan dink:

  • Vul die werklike teks uit 'n ander data-uitbreiding sodat u bemarkingspan die inhoud van die bladsy kan bywerk wanneer hulle wil sonder om die kode aan te raak.
  • Bevorder 'n publikasie-lys data-uitbreiding en blaai deur die publikasies om opt-in of opt-out op voorkeure te bied, benewens 'n meester-uitteken.
  • Bevestig 'n rede vir data-uitbreiding om vas te stel waarom u intekenare die baas is.
  • Bevorder ander profielinligting uit die Salesforce-rekord om addisionele profielinligting te verskaf.
  • Verwerk die bladsy met Ajax sodat u dit soomloos kan invul.
  • Bied 'n registrasiemiddel aan sodat u gebruiker te eniger tyd toegang tot hul persoonlike profielsentrum kan kry.

Bykomende bronne vir AMPscript

As u addisionele hulp benodig om AMPscript te leer en te implementeer, is hier 'n paar bronne:

  • AMPscript-gidse - georganiseer deur sommige Salesforce-werknemers, is dit 'n redelik volledige databasis van AMPscript-sintaksis, alhoewel die voorbeelde regtig lig is. As dit robuuster was, sou dit die belegging werd wees.
  • Trailhead AMPscript - Salesforce se Trailhead is 'n gratis leerbron en kan u deur die basiese beginsels van die taal lei met beide AMPscript, SSJS, en hoe die twee met mekaar kan kommunikeer.
  • Stack Exchange vir Salesforce - 'n uitstekende aanlyngemeenskap om hulp aan te vra met 'n ton AMPscript-kode-voorbeelde.

Daar is baie geleenthede om u Cloud Pages met Salesforce te integreer om 'n uitstekende gebruikerservaring te bied. En as u onderneming sukkel, kan u ons altyd kontak om te help!

Kontak Highbridge

Wat dink jy?

Hierdie webwerf gebruik Akismet om spam te verminder. Leer hoe jou opmerking verwerk is.