מרכז העדפות שיווק בענן של Salesforce: דוגמה לדפי AMPScript ודפי ענן

קוד עמוד עם העדפות שיווק משולבות ב- AMPscript Salesforce

סיפור אמיתי ... הקריירה שלי ממש המריאה לפני יותר מעשור כשהתחלתי תפקיד כיועץ אינטגרציה ב- ExactTarget (כיום Salesforce Marketing Cloud). התפקיד שלי לקח אותי לכל רחבי העולם לסייע לחברות בפיתוח אינטגרציות עמוקות עם הפלטפורמה ובניתי כל כך הרבה ידע מוסדי על הפלטפורמה שקודמתי למנהל מוצר.

האתגרים של מנהל מוצר בארגון שהיה בעבר בבעלות מפתחים הובילו אותי בסופו של דבר. זה היה ארגון נהדר, אבל אני אף פעם לא באמת בבעלות המוצר. לכן, בעוד חברי לעזרת תמיכה, מכירות ושיווק מוצרים נראו לי כדי לעשות שינוי אמיתי ... המציאות הייתה שצוות הפיתוח מימש לעתים קרובות פיתרון אחר ואני אגלה ימים לפני השחרור.

אחד הפרויקטים האחרונים שלי היה עבודה על פלטפורמת סקריפטים פנימית שתאפשר ללקוחות שלנו להוסיף סקריפט למיילים שלהם. עבדתי עם מנהל מוצר אחר ועשינו המון מחקר ... בסופו של דבר החלטנו לפתח גישה בסגנון JQuery עם הפונקציות שלנו, אך כולל יכולת לעבור ולצרוך מערכים, להשתמש ב- JSON וכו '. זה הולך להיות די פיתרון ... עד שהוא הגיע לפיתוח. בתחילת מחזור המוצרים, הספרייה שלי הושמדה ומפתח בכיר החליף אותה AMPscript.

שנים אחר כך, שותף ב- Salesforce החברה בה אני שותף עוסקת כעת בשילוב ארגוני מורכב, ואני מוצא את עצמי שקוע ב- AMPscript על בסיס יומי - או משפר את ההיגיון בתוכן הדוא"ל או מגלגל דפי ענן. כמובן, התסכול של עבודה יום-יום עם AMPscript מבטיח לי שההחלטה הלא נכונה התקבלה באותם הימים ... הפיתרון שלי היה הרבה יותר אלגנטי. אני מרגיש שחזרתי לתכנת TRS-80 ב- BASIC.

העורך שבו אתה משתמש עבור דפי ענן אינו סלחני. זה לא תופס בעיות פשוטות כמו הכרזה על משתנים או שגיאות תחביר בקוד שלך. למעשה, אתה יכול למעשה לפרסם דף שייצור פשוט שגיאת שרת 500. ישנם גם שני שדות שמות לדפים שלך ... אל תשאל אותי מדוע.

Pro-טיפ: אם דפי ענן לעולם לא מחזירים נתוני דוגמה כשאתה עומד לפרסם ונראה שהם מעובדים לנצח ... אתה תשלח שגיאה. אם תפרסם בכל מקרה, כנראה שתצטרך למחוק את דף הענן לחלוטין ולהתחיל מחדש. הניחוש שלי הוא שהתשתית שעליה היא בנויה אינה מספיק חכמה כדי לזהות שינוי קוד ופשוט ממשיכה לעבד את הקוד במטמון.

מלבד זאת, תשמח לדעת שלדוגמאות קוד מתועדות רבות יש שגיאות תחביר משלהן. יש! זו חוויה איומה ... אבל אתה עדיין יכול וצריך להשתמש בה כי זה מספק גמישות מדהימה.

הערת שוליים: יש דף ענן חדש ניסיון... איפה שנראה שהם פשוט עורו מחדש את הדף והוא לא מספק מידע נוסף. אני דווקא אוהב את הגרסה הישנה יותר עבור רצף הפרסום הרב שלבי.

בזמן שהחברה שלי Highbridge בונה פתרונות מורכבים ותומכי Ajax המשלבים מספר מערכות ומשלבים סיומות נתונים עם AMPscript, SSJS, דפי ענן ודואר אלקטרוני ... רציתי לשתף דוגמה פשוטה כיצד ניתן להתחיל פשוט באמצעות AMPscript כדי לשאול את המופע שלך ב- Salesforce ולמשוך נתונים אחוריים. במקרה זה, שדה בוליאני פשוט השומר על דגל מאסטר לביטול המנוי. אתה יכול, כמובן, להרחיב את הקוד הזה כדי לבנות דף העדפות שלם או מרכז פרופילים שתוכל להשתמש בו.

צור קישור לדף ענן עם נתוני מנויים

אם אתה מציג את פרטי עמוד הענן שלך, תוכל לרכוש את מזהה הדף הייחודי עבור הדף שתוכל לכלול בהודעות הדוא"ל שלך.

מזהה דף ענן

התחביר הוא כדלקמן:

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

AMPscript לנתוני Salesforce דרך דפי ענן דרך הרחבות נתונים

השלב הראשון הוא בניית ה- AMPscript שלך כדי להכריז על משתנים ולאחזר את הנתונים מ- Salesforce לשימוש בדף שלך. בדוגמה זו, השם הבוליאני שלי ב- Salesforce המחזיק נכון או לא נכון נקרא 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
 
]%%

עכשיו אתה יכול לבנות את ה- 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מאורגן על ידי כמה עובדי Salesforce, זהו מאגר די שלם של תחביר AMPscript, אם כי הדוגמאות קלות באמת. אם זה היה חזק יותר, זה עשוי להיות שווה את ההשקעה.
  • AMPscript של Trailhead - Trailhead של Salesforce הוא משאב למידה בחינם ויכול להעביר אותך דרך יסודות השפה באמצעות AMPscript, SSJS וכיצד האינטראקציה בין השניים.
  • ערימת Exchange עבור Salesforce - קהילה מקוונת נהדרת לבקשת סיוע בהמון דוגמאות קוד AMPscript.

יש המון הזדמנויות בשילוב דפי הענן שלך עם Salesforce כדי לספק חוויית משתמש מעולה. ואם החברה שלך נאבקת, אתה תמיד יכול ליצור איתנו קשר כדי לסייע!

צור קשר Highbridge

מה אתה חושב?

אתר זה משתמש Akismet כדי להפחית דואר זבל. למד כיצד הנתונים שלך מעובדים.