חיבור טופס אלמנטור למערכת הדיוור Smoove (בלי זאפייר!)

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

תוכן עניינים

רשימת תפוצה היא אחד הכלים הדיגיטלים החשובים ביותר לכל עסק. היא מאפשרת איסוף של מאגר לקוחות פוטנציאלים שאליהם אפשר לשלוח תוכן וגם הצעות שיווקיות. אחת הדרכים הכי נוחות לאסוף כתובות מייל לרשימת תפוצה היא באמצעות טפסים באתר האינטרנט שלנו (זה יכול להיות טופס הרשמה לתפוצה, אבל גם טופס רגיל של יצירת קשר). הטפסים של אלמנטור פרו הולכים ותופסים מקום מרכזי באתרי וורדפרס, והם כוללים אפשרויות התממשקות רבות לשירותי דיוור בינלאומיים מובילים (המפורסמים שבהם הם MailChimp ו Active campaign). אך כאשר נרצה לחבר טופס לשירות ישראלי, מקומי, כמו Smoove, נוכל לראות שאלמנטור לא מספקים לנו פיתרון "מהקופסה", ואנו נדרשים לטיפה יותר עבודה.

Smoove היא מערכת דוברת עברית לשליחת דואר לרשימות תפוצה ושליחת מיילים שיווקיים. היא אהובה מאוד בישראל, נוחה לשימוש, ומספקת לנו אוטומציות וכלים מתקדמים מאוד.

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

לפתיחת אתר Smoove.

חיבור טופס אלמנטור ל Smoove

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

אם אתם צריכים לחבר חנות אתם מוזמנים לקרוא גם את המדריך איך לחבר את Smoove לעמוד התשלום של WooCommerce.

שימו לב – ההדרכה מתבססת על יכולות קיימות של Smoove. Smoove ערכו בעבר מספר עדכונים ל API שלהם, ויתכן שגם ישנו בעתיד. לא ניתן להבטיח תאימות לאחור במקרה של עדכון. כלומר, יתכן ששינוי עתידי ב-Smoove יגרום לקוד המפורט כאן להפסיק לעבוד ללא הודעה מוקדמת או חיווי. לכן עליכם לודא תמיד שבמקביל להגדרת ההתממשקות אתם שומרים על הנתונים שהמשתמשים שולחים בטופס בדרך נוספת, כזו שתהיה קלה ליבוא ידני לסמוב, אם יהיה צורך כזה. אני אוהב להשתמש באפשרות שמירת הלידים של אלמנטור ובהתממשקות ל Google Sheets.

מהם היתרונות בחיבור האתר לסמוב ללא הסתמכות על גורם שלישי?

  1. אין עלויות. זה חינם.
  2. פחות גורמים מעורבים – פחות סיכוי לתקלות ושיבושים, אי זמינות של שירות וכו'.

איך שנוח לכם

אני מפרט במדריך שתי שיטות – אחת קלה ולא דורשת שום ידע בקוד, ואילו השניה מיועדת למשתמשים מתקדמים יותר.

מוכנים לצאת לדרך?

שלבים 1 ו-2, אותם מבצעים במערכת Smoove, משותפים לשתי השיטות.

1.  יוצרים מפתח API בממשק של Smoove (הגדרות > מפתחות API > הוסף מפתח). מפתח הAPI הוא קוד אישי, סודי, שנוצר במיוחד עבורכם לצורך ההתממשקות.

smoove api key

2. בממשק של Smoove בודקים מהו המס"ד של הרשימה בה אתם מעוניינים שנרשמים ישמרו.

smoove list sku

איך לחבר טופס לסמוב ללא צורך בהכנסת קוד?

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

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

טופס עם תויות טופס בלי תויות

3. יוצרים טופס באתר שלכם באלמנטור ולשדה האימייל נותנים את התווית email.


4. אם יש בטופס שדה שם נותנים לו את התווית firstName ואם יש שדה שם משפחה נותנים לו את התווית lastName.

5. אם יש שדה טלפון נותנים לו את התווית cellPhone.

6. בפעולות אחרי שליחה מוסיפים "וובהוק"

7. בהגדרות של הוובהוק מוסיפים את הנתיב הבסיסי של התממשקות הרשמה + מפתח הAPI (שיצרתם בשלב מספר 1) + המס"ד של הרשימה בסמוב אליה אתם מעוניינים שהנרשמים יצורפו.

ככה הוובהוק צריך להיראות. את ה XXXX יש להחליף במפתח הAPI שלכם (שלב 1). את ה YYYY יש להחליף במס"ד של הרשימה (שלב 2). יש להקפיד שלא יהיה רווח. מלבד החלפת כל סימני ה XXXXX וה YYYYYY הקישור חייב להישאר זהה לחלוטין.


https://members.smoove.io/subscribe.aspx?exists=merge&restore=Restore&source=API&apikey=XXXXXXXXXXXXXXXXXXXXXXXX&viplists=YYYYYYYYY

Webhook viplus

8. שומרים את העמוד, פותחים אותו מחוץ לאלמנטור ושולחים טופס.

9. פותחים את הרשימה הרלוונטית בSmoove. נצפה למצוא איש קשר חדש עם הפרטים שהוזנו בטופס.

איך לחבר טופס לסמוב באמצעות כתיבת קוד בקובץ התבנית (מחוץ לאלמנטור)

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

כעת נראה דרך נוספת ליצירת ההתממשקות בין הטופס שיצרנו באלמנטור ובין מערכת Smoove. היתרון בשיטה הזאת הוא שניתן לבחור את השמות של התויות (Labels) שיוצגו למשתמשים מעל לשדות הטופס.

בשיטה הזאת אנחנו יכולים לציין איזה שם שנרצה בתוויות של השדות שלנו ("שם פרטי" "האימייל שלך" "מה הטלפון שלך?" וכו') כי את השמות שרלוונטים להתממשקות (השמות שנקבעו בAPI של Smoove) נזין לא כ"תוית" אלא כ"ID".

בשיטה הזאת לא נשתמש בWebhook דרך הממשק, אלא בקוד. כלומר, לא נבחר בפעולות אחרי שליחה > webhook.

3. יוצרים טופס באתר שלכם באלמנטור ולשדה האימייל נותנים את הID email (מתקדם > ID)


4. אם יש שדה שם, נותנים לו את הID  firstName (מתקדם > ID) ואם יש שדה שם משפחה נותנים לו את הID lastName.

5. אם יש שדה טלפון נותנים לו את הID cellPhone (מתקדם > ID)

6. מגדירים לטופס שם באנגלית:

הגדרת שם טופס
7. שומרים את העמוד באלמנטור.

8. מדביקים ב-functions.php (בתבנית הבת כמובן. בשום אופן לא בתבנית אם) את הקוד הזה (שימו לב לסעיפים הבאים – אתם צריכים להתאים את הקוד):


add_action( 'elementor_pro/forms/new_record', function( $record, $handler ) {
//make sure its our form
$form_name = $record->get_form_settings( 'form_name' );

// Replace MY_FORM_NAME with the name you gave your form
if ( 'MY_FORM_NAME' !== $form_name ) {
return;
}

$raw_fields = $record->get( 'fields' );
$fields = [];
foreach ( $raw_fields as $id => $field ) {
$fields[ $id ] = $field['value'];
}

// Replace HTTP://YOUR_WEBHOOK_URL with the actuall URL you want to post the form to
wp_remote_post( 'https://members.smoove.io/subscribe.aspx?exists=merge&restore=Restore&source=API&apikey=XXXXXXXXXXXXXXXXXXXXXXXX&viplists=YYYYYYYYY', [
'body' => $fields,
]);
}, 10, 2 );

9. מחליפים את XXXXXXX במפתח הAPI שיצרתם בממשק של סמוב (שלב 1). את ה YYYY מחליפים במס"ד של הרשימה בסמוב אליה אתם מעוניינים שהנרשמים יצורפו (שלב 2). יש להקפיד שלא יהיה רווח. מלבד החלפת כל סימני ה XXXXX וה YYYYYY השורה הזו חייבת להישאר זהה לחלוטין.

10. אם מעוניינים שההתממשקות תפעל על טופס מסויים באתר (ולא על כל הטפסים) מחליפים את MY_FORM_NAME בשם שהגדרתם לטופס (מעל כל השדות).

11. אם רוצים שההתממשקות תחול על כל הטפסים באתר (בלי למקד אותה לטופס מסויים) יש למחוק את כל החלק הזה מהקוד המקורי:


//make sure its our form
$form_name = $record->get_form_settings( 'form_name' );
// Replace MY_FORM_NAME with the name you gave your form
if ( 'MY_FORM_NAME' !==$form_name ) {
return;
}

12. שומרים את הקובץ functions.php ומעלים לשרת.

13. פותחים את העמוד ושולחים טופס.

14. פותחים את הרשימה הרלוונטית בSmoove. נצפה למצוא איש קשר חדש עם הפרטים שהוזנו בטופס.

רשימות דינמיות לפי פוסט

יש מקרים בהם נרצה לנהל באמצעות טופס אלמנטור הרשמה למספר אירועים שמופיעים באתר כפוסטים ב Costum Post Type. במקרה כזה יש לנו טופס אחד – שמופיע בתוך תבנית הסינגל פוסט, אך הגולשים ירשמו דרכו למספר אירועים שונים, ונרצה שהם יוזרמו למספר רשימות נפרדות בסמוב (על פי הפוסט / אירוע אליו הם נכנסו כדי להרשם). יש אפשרות לעשות את זה, ותודה לירדן ירחי על כתיבת החלק הזה במדריך.

כפי שראינו עד כה, הטופס שולח את פרטי המשתמש לרשימת אנשי קשר אחת בסמוב אליה זורמים כל הלידים מהאתר, ללא תלות בתכנית / אירוע שאליו היוזר רצה להרשם (סמוב לא ״יודע״ מאיזה פוסט הגיע היוזר לטופס – מבחינתו – זה אותו טופס). אז איך אנחנו מפצלים את אנשי הקשר לרשימות נפרדות?
נצטרך ליידע את סמוב, בנוסף לפרטים שאותם השאיר הגולש בתוך הטופס, גם בID של הפוסט שבתוכו הטופס מופיע. ולאחר מכן – נגדיר אוטומציה שתחלק את אנשי הקשר לקבוצות לפי המידע הזה.

  1. נוסיף בסמוב ״שדה מותאם אישית״
    הוספת שדה מותאם אישית בסמוב
    נקרא לשדה בשם ונגדיר את סוג התוכן כ״איזור טקסט״. שימו לב שמספר השדה כאן הוא ״19״ – נצטרך להשתמש במספר הזה.
    הגדרת שם וסוג עבור שדה מותאם אישית בסמוב
  2. נחזור לטופס –ונוסיף לו שדה מוסתר. תחת לשונית ״מתקדם״ של השדה המוסתר – נגדיר לשדה ערך ברירת מחדל דינאמי של ״ה ID של הפוסט״ – לפי הערך הזה הלידים יתמיינו בתוך הסמוב לרשימות השונות.
    הגדרת ID של שדה בטופס אלמנטור
    אם עבדנו בשיטת ההתממשקות דרך webhook : נוסיף לשדה תווית שמכילה את האות c ולאחריה את שם השדה המותאם – לדוגמא c19
    הגדרת תווית של שדה בטופס אלמנטור
    אם עבדנו בשיטת ההתממשקות דרך php נוסיף לשדה id (תחת לשונית ״מתקדם״) את אותו ערך בדיוק (במקרה שלנו c19)
  3. בשלב הזה – נראה שכל ליד שהשארנו באתר נכנס לרשימת התפוצה הכללית שלנו (במקרה שלי קראתי לה ״הרשמה לתכניות דרך האתר״. נוכל לראות שבתוך איש הקשר מופיע הערך החשוב של ״ה ID של הפוסט״ ממנו הגיע היוזר.
    כאן לדוגמא יש יוזר נחמד שבשדה ״הרשמה לתכנית דרך האתר״ מופיע הערך ״263״ – כלומר היוזר מילא את הטופס בתוך הפוסט שהID שלו הוא 263, וזו התכנית אליה הוא רוצה להצטרף. עכשיו רק נשאר לנו למיין את אנשי הקשר לפי הפרמטר הזה – לרשימות שונות.
    המידע של מזהה הפוסט כפי שהוא נקלט בסמוב
  4. חוזרים לסמוב: ניצור רשימת אנשי קשר יעודית לכל תכנית. ואז ניצור אוטומציה חדשה שתמיין את הלידים לפי הפרמטר שמופיע בשדה של ״הרשמה לתכניות דרך האתר״ עבור כל ליד:כל ליד שיכנס לרשימה הכללית, סטטוס איש הקשר שלו יבדק (כלומר המערכת תבדוק מה הערך שמופיע בשדה ״הרשמה לתכנית דרך האתר״ ובהתאם לתוכן של השדה הזה איש הקשר יסווג לרשימה המתאימה:
    הגדרת אוטומציה בסמוב - הוספה לרשימה לפי שדה
    נוסיף לאוטומציה רכיב של תנאי מסוג ״סטטוס איש קשר״ – ונגדיר את התנאי:
    כאשר ערך השדה המותאם (במקרה שלי ״הרשמה לתכנית דרך האתר – שם התכנית״) שווה ל: (כאן נוסיף את הID של התכנית = ה ID של הפוסט באתר)
    הגדרת אוטומציה בסמוב - הוספה לרשימה לפי שדה.
    ואז נגדיר מה קורה כאשר התנאי שלנו מתקיים:
    הפעולה שתתרחש היא הוספת הליד לרשימה שנגדיר (רשימה שניצור במיוחד עבור אותו אירוע/תכנית). כאן נבחר כמובן את שם הרשימה המתאימה מתוך הרשימות שהגדרנו מראש.
    כמספר התכניות/אירועים – כך יהיה מספר התנאים שנצטרך להגדיר בsmoove.
    הגדרת אוטומציה בסמוב - הוספה לרשימה לפי שדה
    וזהו – יש לנו אוטומציה, כל ליד שיכנס לרשימה הכללית, הסטטוס שלו יבדק אוטומטית – כלומר – המערכת תבדוק את ערך השדה המותאם (שמכיל את ה ID של הפוסט ממנו היוזר הגיע), ולפי שם הפוסט תוסיף אותו לרשימת אנשי קשר יעודית לאותו הפוסט.

מה אם ההתממשקות לא עובדת?

  1. בדקו בסבלנות את כל התהליך שביצעתם. השמטה של פרט אחד או שלב אחד בתהליך תגרום להתממשקות להיכשל.
  2. בהתממשקות הכל צריך להיות מאוד מדוייק. רווח שאינו שייך, אות גדולה במקום אות קטנה (או להיפך) – כל אלו יגרמו להתממשקות להיכשל.
  3. בSmoove יש מסלול חינמי (עד 200 אנשי קשר). אם אתם מחברים חשבון חינמי והוא כבר מלא ב-200 אנשי קשר – ההתממשקות תיכשל.
  4. בחרתם באפשרות החיבור השנייה? (עם קוד) ודאו כי תבנית הבת שלכם תקינה ומופעלת.

אינטגרציות נוספות לטפסי אלמנטור

אם תרצו לחבר את טופסי האלמנטור באתר שלכם גם ל Google Sheets תוכלו לקרוא על זה כאן. כיוון שלא ניתן להגדיר שני Webhooks לאותו טופס זה ידרוש מכם לנקוט בשיטה השנייה והמעט יותר מורכבת להתממשקות ל-Smoove.

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

לקריאה נוספת

התיעוד של טפסי אלמנטור

שיתוף  

הרשמה לקבלת עדכונים

עוד באותו נושא

נשמח לספק לחברה שלך פתרונות מקצועיים בהתאמה אישית.

אלחנן, מנהל הסטודיו, יחזור אליך בשעות הקרובות וישמח לשוחח איתך.

דילוג לתוכן