Salesforce Marketing Cloud Foarkarssintrum: AMPScript en Cloud Page Foarbyld

AMPscript Salesforce-yntegreare Marketing Cloud foarkarssidekoade

Wier ferhaal ... myn karriêre naam echt in tsien jier lyn útein doe't ik in posysje begon as Integration Consultant foar ExactTarget (no Salesforce Marketing Cloud). Myn baan naam my oer de heule wrâld by it helpen fan bedriuwen by it ûntwikkeljen fan djippe yntegraasjes mei it platfoarm en ik boude safolle ynstitúsjonele kennis op fan it platfoarm dat ik waard promovearre ta Product Manager.

De útdagings fan Product Manager foar in organisaasje dy't earder ûntwikkele wie, liede my úteinlik troch. It wie in geweldige organisaasje, mar ik ha noait wier eigendom it produkt. Dat, wylst myn leeftydsgenoaten yn stipe, ferkeap en produktmarketing nei my seagen om in wirklike feroaring oan te bringen ... wie de realiteit dat it ûntwikkelteam faak in oare oplossing ymplementeare en ik soe dagen foar de release útfine.

Ien fan myn lêste projekten wurke oan in yntern skriptplatfoarm dat ús klanten ynskeakelje soe skript ta te foegjen oan har e-post. Ik wurke mei in oare Product Manager en wy diene in soad ûndersyk ... úteinlik besleaten wy in JQuery-styl oanpak te ûntwikkeljen mei ús eigen funksjes, mar ynklusyf de mooglikheid om arrays troch te jaan en te konsumearjen, JSON te brûken, ensfh. oplossing ... oant it op ûntwikkeling rekke. Betiid yn 'e produktsyklus waard myn bibleteek sloopt en in senior ûntwikkelder ferfong it troch AMPscript.

Jierren letter, de Salesforce Partner bedriuw wêryn ik in partner bin, docht no komplekse, yntegraasjes foar bedriuwen, en ik fyn mysels deistige basis yn AMPscript - fersterkje de logika fan e-postynhâld of it útfieren fan Cloud Pages. Fansels soarget de frustraasje fan dei en dei mei AMPscript my derfoar dat it ferkearde beslút yn dy dagen werom waard ... myn oplossing soe folle eleganter west hawwe. Ik fiel dat ik werom bin nei it programmearjen fan in TRS-80 yn BASIC.

De bewurker dy't jo brûke foar Cloud Pages is ûnferjitlik. It fynt gjin ienfâldige problemen lykas fariabelen of syntaksisfouten ferklearje mei jo koade. Eins kinne jo in pagina publisearje dy't gewoan in 500-serverflater genereart. D'r binne ek twa namme fjilden foar jo siden ... freegje my net wêrom.

Pro-Tip: As in Cloud Pages foarbyldgegevens noait retourneert as jo op it punt binne om te publisearjen en it liket derop dat it foar altyd ferwurket ... sille jo in flater goaie. As jo ​​dan ek publisearje, sille jo wierskynlik de Cloud Page wiskje moatte en opnij begjinne. Myn gok is dat de ynfrastruktuer dêr 't op is boud net yntelligint genôch is om in koadewiziging te identifisearjen en gewoan de cache koade ferwurket.

Aside dêrfan, sille jo bliid wêze dat in protte fan 'e dokuminteare koade-foarbylden har eigen syntaksisfouten hawwe. Yay! It is in ôfgryslike ûnderfining ... mar jo kinne it noch altyd brûke en moatte, om't it wat geweldige fleksibiliteit leveret.

Side note: D'r is in nije Cloud Page Ûnderfining... wêr't it liket as hawwe se de pagina gewoan opnij skildere en it jout gjin ekstra ynformaasje. Ik fyn de âlde ferzje eins better foar de publisearjende folchoarder yn meardere stappen.

Wylst myn bedriuw Highbridge bout komplekse, Ajax-ynskeakele oplossingen út dy't meardere systemen yntegreare en gegevensútwreidings opnimme mei AMPscript, SSJS, Cloud Pages, en e-post ... Ik woe in ienfâldich foarbyld diele hoe't jo kinne begjinne mei gewoan AMPscript brûke om jo Salesforce-eksimplaar te freegjen en te lûken werom gegevens. Yn dit gefal in ienfâldich booleaansk fjild dat in master-ôfmeldflag behâldt. Jo kinne dizze koade fansels útwreidzje om in heule foarkarsside of profilesintrum op te bouwen dat jo kinne brûke.

Generearje in wolkepagina-keppeling mei abonneegegevens

As jo ​​jo details fan 'e Cloud-pagina besjogge, kinne jo de unike side-ID krije foar de side dy't jo yn jo e-post kinne opnimme.

wolke pagina id

De syntaksis is as folget:

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

AMPscript foar Salesforce-gegevens fia Cloud Pages fia Data Extensions

De earste stap is it bouwen fan jo AMPscript om fariabelen te ferklearjen en de gegevens fan Salesforce op te heljen om te brûken yn jo side. Yn dit foarbyld wurdt myn Salesforce booleaanske fjild neamd dat wier of net wier hat neamd OptedOut:

%%[

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

No kinne jo jo HTML opbouwe en formulier dat it fersyk ferwurket:

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

Dat is it ... set it allegear byinoar en jo hawwe in foarkarside dy't bywurke is mei jo abonnee-record en in fersyk trochjûn om in booleaansk fjild (wier / net-wier) yn Salesforce te aktualisearjen. No kinne jo oanpaste fragen bouwe om dat fjild hinne om der altyd foar te soargjen dat kontakten dy't ôfmeld binne gjin e-post stjoere!

Hoe kinne jo jo foarkar pagina ferbetterje as profyl sintrum

Fansels is dit gewoan in teaser fan wat mooglik is mei in foarkarsside. Ferbetterings wêr't jo miskien oer tinke wolle:

  • Befolkje de eigentlike tekst fan in oare gegevensútwreiding, sadat jo marketingteam de ynhâld fan 'e pagina kin bywurkje as se wolle sûnder de koade oan te reitsjen.
  • Befolkje in data-útwreiding fan publikaasjelisten en loop troch de publikaasjes om opt-in of opt-out te bieden foar foarkarren neist in master-ôfmelding.
  • Befolkje in gegevensútwreiding fan reden om fêst te lizzen wêrom't jo abonnees master ôfmelde.
  • Befolking oare profylynformaasje út it Salesforce-record om ekstra profylynformaasje te leverjen.
  • Ferwurkje de pagina mei Ajax, sadat jo dizze soepel kinne ynfolje.
  • Biedt in middel fan registraasje oan, sadat jo brûker op elts momint tagong hat ta har persoanlike profyl sintrum.

Oanfoljende boarnen foar AMPscript

As jo ​​wat ekstra help sykje foar it learen en ynsetten fan AMPscript, binne hjir geweldige boarnen:

  • AMPscript Guide - organisearre troch guon Salesforce-meiwurkers, is dit in frij komplete databank fan AMPscript-syntaksis, hoewol de foarbylden echt ljocht binne. As it robúster wie, soe it de ynvestearring wurdich wêze kinne.
  • Trailhead AMPscript - Trailhead fan Salesforce is in fergese learboarne en kin jo troch de basis fan 'e taal liede mei sawol AMPscript, SSJS, as hoe't de twa kinne ynteraksje.
  • Stack Exchange foar Salesforce - in geweldige online mienskip foar help oanfreegje mei in ton AMPscript-koade-foarbylden.

D'r is in soad kâns yn it yntegrearjen fan jo Cloud Pages mei Salesforce om in superieure brûkersûnderfining te leverjen. En as jo bedriuw wrakselet, kinne jo altyd kontakt mei ús opnimme om te helpen!

Kontakt Highbridge

Wat tinksto?

Dizze side brûkt Akismet om spam te ferleegjen. Learje hoe't jo kommentaargegevens ferwurke wurde.