Salesforce Marketing Cloud Preference Center: AMPScript და Cloud Page მაგალითი

AMPscript Salesforce- ინტეგრირებული მარკეტინგის ღრუბლების უპირატესობის გვერდის კოდი

ნამდვილი ამბავი story ჩემი კარიერა მართლაც ათი წლის წინ დაიწყო, როდესაც ExactTarget- ის (ახლა Salesforce Marketing Cloud) ინტეგრაციის კონსულტანტის თანამდებობა დავიწყე. ჩემმა სამსახურმა მთელ მსოფლიოში დამხმარე კომპანიებს ხელი შეუწყო პლატფორმასთან ღრმა ინტეგრაციის განვითარებაში და იმდენი ინსტიტუციური ცოდნა ჩამოვაყალიბე ამ პლატფორმის შესახებ, რომ დაწინაურებული ვიყავი პროდუქტის მენეჯერად.

პროდუქტის მენეჯერის გამოწვევებმა ორგანიზაციისთვის, რომელიც ადრე დეველოპერებს ეკუთვნოდათ, საბოლოოდ გადამიყვანა. ეს იყო შესანიშნავი ორგანიზაცია, მაგრამ მე ნამდვილად არასოდეს ვყოფილვარ საკუთრებაში არსებული პროდუქტი. მიუხედავად იმისა, რომ ჩემი თანატოლები მხარს უჭერდნენ მხარს, გაყიდვებს და პროდუქტის მარკეტინგს, მე მიყურებდნენ რეალური ცვლილებების შესატანად ... სინამდვილე იყო, რომ შემქმნელთა გუნდი ხშირად ახორციელებდა განსხვავებულ გადაწყვეტილებას და ამას გამოსვლამდე რამდენიმე დღით ადრე ვხვდებოდი.

ჩემი ერთ-ერთი ბოლო პროექტი იყო სკრიფტინგის შიდა პლატფორმაზე მუშაობა, რომელიც საშუალებას მისცემს ჩვენს მომხმარებლებს დაამატონ სკრიპტები თავიანთ ელ.ფოსტაში. მე ვმუშაობდი პროდუქტის სხვა მენეჯერთან და უამრავი გამოკვლევა ჩავატარეთ ... საბოლოოდ გადავწყვიტეთ JQuery სტილის მიდგომა შეგვემუშავებინა საკუთარი ფუნქციებით, მაგრამ მასივების ჩასატარებლად და მოხმარების შესაძლებლობით, JSON– ის გამოყენებით და ა.შ. გამოსავალი… სანამ არ მოხვდება განვითარებაში. პროდუქტის ციკლის დასაწყისში ჩემი ბიბლიოთეკა გაუქმდა და უფროსმა შემქმნელმა შეცვალა იგი AMPscript.

წლების შემდეგ, Salesforce პარტნიორი კომპანია, რომელშიც მე ვარ პარტნიორი, ახლა რთულ, საწარმოს ინტეგრაციას ახდენს და ყოველდღიურად ვარ AMPscript- ში ჩაფლული - ელ.ფოსტის შინაარსის ლოგიკის გაუმჯობესება ან Cloud Pages- ის გაშლა. რა თქმა უნდა, AMPscript– ით სამუშაო დღის იმედგაცრუება მეუბნება, რომ იმ დღეებში არასწორი გადაწყვეტილება იქნა მიღებული ... ჩემი გამოსავალი ბევრად უფრო ელეგანტური იქნებოდა. ვგრძნობ, რომ დავუბრუნდი TRS-80– ის პროგრამირებას BASIC– ში.

რედაქტორი, რომელსაც Cloud Pages- ს იყენებთ, არ აპატიებს. ეს არ იჭერს მარტივ საკითხებს, როგორიცაა ცვლადების დეკლარირება ან სინტაქსური შეცდომების შეტანა თქვენს კოდთან ერთად. სინამდვილეში, თქვენ შეგიძლიათ რეალურად გამოაქვეყნოთ გვერდი, რომელიც უბრალოდ წარმოქმნის 500 სერვერის შეცდომას. თქვენი გვერდების დასახელების ორი ველია… არ მკითხოთ რატომ.

Pro-tip: თუ Cloud Pages არასდროს დააბრუნებს მონაცემთა ნიმუშს, როდესაც გამოქვეყნებას აპირებთ და როგორც ჩანს, ის სამუდამოდ მუშავდება an შეცდომას დაუშვებთ. თუ მაინც გამოაქვეყნებთ, თქვენ ალბათ მოგიწევთ Cloud Page– ის მთლიანად წაშლა და თავიდან გადახდა. ჩემი ვარაუდით, ინფრასტრუქტურა, რომელზეც ის არის აგებული, არ არის საკმარისად ინტელექტუალური კოდის შეცვლის იდენტიფიცირებისთვის და უბრალოდ ინარჩუნებს კეშირებული კოდის დამუშავებას.

ამას გარდა, სიამოვნებით გაიგებთ, რომ კოდის მრავალ დოკუმენტურ ნიმუშს აქვს საკუთარი სინტაქსური შეცდომები. დიახ ეს საშინელი გამოცდილებაა ... მაგრამ თქვენ მაინც შეგიძლიათ და უნდა გამოიყენოთ, რადგან ის საოცარ მოქნილობას უზრუნველყოფს.

გვერდითი შენიშვნა: ახალი Cloud გვერდია გამოცდილება… სადაც ჩანს, რომ მათ უბრალოდ ხელახლა გაათავისუფლეს გვერდი და ის არ შეიცავს დამატებით ინფორმაციას. მე ნამდვილად მომწონს ძველი ვერსია, მრავალსაფეხურიანი საგამომცემლო თანმიმდევრობისთვის.

მიუხედავად იმისა, რომ ჩემი კომპანია Highbridge აშენებს კომპლექსურ, Ajax- ის საშუალებით მიღებულ გადაწყვეტილებებს, რომლებიც აერთიანებს მრავალ სისტემას და მოიცავს მონაცემების გაფართოებას AMPscript, SSJS, Cloud Pages და ელ.წერილთან… მსურდა გამეზიარებინა მარტივი მაგალითი იმისა, თუ როგორ შეგიძლიათ დაიწყოთ AMPscript- ის გამოყენებით უბრალოდ Salesforce ინსტანციის დასაკითხად და გაიყვანოთ უკან მონაცემები. ამ შემთხვევაში, უბრალო ლოგიკური ველი, რომელიც ინარჩუნებს სამაგისტრო გამოწერის დროშის გაუქმებას. რა თქმა უნდა, შეგიძლიათ გააგრძელოთ ეს კოდი, რომ შექმნათ სასურველი გვერდების ან პროფილის მთელი ცენტრი, რომლის გამოყენებაც შეგიძლიათ.

გამომუშავეთ ღრუბლოვანი ბმული აბონენტის მონაცემებთან

თუ თქვენი ღრუბლის გვერდის დეტალებს ნახავთ, შეგიძლიათ შეიძინოთ იმ გვერდის უნიკალური ID, რომელიც შეგიძლიათ ელ.ფოსტაში შეიტანოთ.

ღრუბლის გვერდის ID

სინტაქსი შემდეგია:

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

AMPscript Salesforce მონაცემებისთვის Cloud Pages– ით მონაცემთა გაფართოების საშუალებით

პირველი ნაბიჯი არის თქვენი AMPscript- ის შექმნა ცვლადების დეკლარირებისა და Salesforce- ის მონაცემების მისაღებად თქვენს გვერდზე გამოსაყენებლად. ამ მაგალითში დასახელებულია ჩემი Salesforce ლოგიკური ველი, რომელიც შეიცავს ჭეშმარიტს ან მცდარს უარი თქვა:

%%[

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

ახლა თქვენ შეგიძლიათ შექმნათ თქვენი HTML და ფორმა, რომელიც ამუშავებს მოთხოვნას:

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

ეს არის… ყველაფერი ერთად დააყენეთ და მიიღეთ პრეფერენციის გვერდი, რომელიც განახლებულია თქვენი აბონენტის ჩანაწერში და გადასცემს თხოვნას Salesforce- ში განახლებული ლოგიკური ველის (ჭეშმარიტი / ყალბი) განახლების შესახებ. ახლა თქვენ შეგიძლიათ შექმნათ მორგებული მოთხოვნები ამ ველის გარშემო, რათა ყოველთვის უზრუნველყოთ, რომ უარი თქვან კონტაქტებს, რომ არ გაუგზავნით ელ.წერილს.

როგორ გავაუმჯობესოთ თქვენი სასურველი გვერდი ან პროფილის ცენტრი

რა თქმა უნდა, ეს არის მხოლოდ იმის ჩვენება, თუ რა არის შესაძლებელი უპირატესობის გვერდზე. გაუმჯობესებებზე, რომელზეც შეიძლება იფიქროთ:

  • მოახდინეთ ტექსტის სხვა მონაცემების გაფართოება, რათა თქვენს მარკეტინგულ გუნდს შეძლოს განაახლოს გვერდის შინაარსი, როცა ეს მოისურვება, კოდთან შეხების გარეშე.
  • გამოაქვეყნეთ პუბლიკაციების ჩამონათვალის მონაცემთა გაფართოება და გადახედეთ პუბლიკაციებს, რომ შესთავაზოთ ოპტიმიზაცია ან უარი თქვას პრეფერენციებში, სამაგისტრო გამოწერის გარდა.
  • ჩამოთვალეთ მონაცემთა გაფართოების მიზეზი, რათა აღბეჭდოთ, თუ რატომ არის ხელმომწერი ხელმოწერის უგულებელყოფა.
  • შეავსეთ Salesforce ჩანაწერიდან სხვა პროფილის ინფორმაცია, დამატებითი ინფორმაციის შესახებ ინფორმაციის მისაღებად.
  • დაამუშავეთ გვერდი Ajax– ით ისე, რომ შეძლოთ მისი შეუფერხებლად დასახლება.
  • შესთავაზეთ სარეგისტრაციო საშუალება, რომ თქვენს მომხმარებელს ნებისმიერ დროს ჰქონდეს წვდომა პერსონალური პროფილის ცენტრში.

დამატებითი რესურსები AMPscript- ისთვის

თუ თქვენ ეძებთ დამატებით დახმარებას AMPscript– ის შესწავლისა და განსახორციელებლად, აქ მოცემულია შესანიშნავი რესურსები:

  • AMPscript სახელმძღვანელოe- ორგანიზებული Salesforce- ის ზოგიერთი თანამშრომლის მიერ, ეს არის AMPscript სინტაქსის საკმაოდ სრული მონაცემთა ბაზა, თუმცა მაგალითები ნამდვილად მსუბუქია. ეს რომ უფრო ძლიერი ყოფილიყო, ღირს ინვესტიცია.
  • ბილიკი AMPscript - Salesforce's Trailhead უფასო სასწავლო რესურსია და დაგეხმარებათ გაეცნოთ ენის საფუძვლებს, როგორც AMPscript- ით, ასევე SSJS- ით და იმაზე, თუ როგორ შეიძლება ურთიერთქმედება.
  • დასტის გაცვლა Salesforce- სთვის - შესანიშნავი ონლაინ საზოგადოება, რომელიც ითხოვს დახმარებას AMPscript კოდის ერთ ტონაზე.

თქვენი Cloud Pages– ის Salesforce– ს ინტეგრირების უამრავი შესაძლებლობა არსებობს, რათა უზრუნველყოთ უმაღლესი მომხმარებლის გამოცდილება. თუ თქვენი კომპანია იბრძვის, ყოველთვის შეგიძლიათ დაგვიკავშირდეთ დახმარების მისაღებად!

კონტაქტი Highbridge

რას ფიქრობთ?

ეს საიტი იყენებს Akismet- ს, რათა შეამციროს სპამი. შეისწავლეთ თქვენი კომენტარის მონაცემები დამუშავებული.