בניית פופאפ יציאה בוורדפרס (exit intent)

במדריך זה נסביר איך לבנות פופאפ יציאה בוורדפרס ללא תוסף (exit intent popup).

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

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

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

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

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

בניית פופאפ יציאה באמצעות Ouibounce

ouibounce.js היא ספריית javascript קטנה המאפשרת להציג חלון קופץ (פופאפ) לפני שהמשתמש עוזב את האתר שלכם. הספרייה עובדת מעולה ומספקת לכם מספר אופציות לקונפיגורציה כגון רגישות, השהייה, שם ה cookie, התפוגה שלו וכו׳.. התהליך הוא דיי פשוט ומסתכם בארבעה שלבים:

  • טעינת הקובץ ouibounce.js בוורדפרס.
  • יצירת אלמנט חבוי, הפופאפ שלנו בעצם (modal window).
  • בחירת חלון זה באמצעות javascript או jquery וקריאה ל ouibounce.
  • עיצוב הפופאפ כך שיופיע במרכז המסך וייראה נורמלי.

נטען את הקובץ ouibounce.min.js

כמו שראינו במדריכים רבים ברשת (כשאחד מהם הוא הוספת נכסים (קבצי Javascript ו- CSS) בוורדפרס), בכדי לבצע enqueue לקובץ javascript כותבים משהו כזה (functions.php):

function enqueue_Ouibounce() {
   wp_register_script( 'ouibounce', get_template_directory_uri() . '/js/ouibounce.min.js' , array( 'jquery' ) );
   wp_enqueue_script( 'ouibounce' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_Ouibounce' );

ניצור אלמנט חבוי

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

נוסיף את ה html של אותו פופאפ לפוטר של האתר שלנו על ידי הוספה של הקוד הבא לקובץ functions.php:

<?php 
/*** BEGIN here ***/
function exit_intent_popup() { ?>
    <div id="ouibounce-modal" style="display: none;">
        <div class="underlay"></div>
        <div class="modal">
            <div class="modal-body">
            
            </div>
        </div>
    </div>
   <?php
}
add_action( 'wp_footer', 'exit_intent_popup' );

שימו לב בשורה 2 הסתרנו את האלמנט על ידי display:none.

נפעיל את ouibounce על אותו אלמנט

נפעיל את ouibounce על האלמנט #ouibounce-modal ונוסיף בקובץ javascript כלשהו (שאתם צריכים לדאוג שייטען אחרי הקובץ ouibounce.min.js) את הסקריפט הבא:

/* BEGIN ouiBounce */
    function initOuibounce() {
        /* init ouibounce */
        var _ouibounce = ouibounce(document.getElementById('ouibounce-modal'), {
            aggressive: false,
            timer: 800,
            cookieExpire: 21,
            callback: function() { console.log('ouibounce fired!'); }
        }),
        ouibounceElmnt = $('#ouibounce-modal');

    initOuibounce();
/* END ouiBounce */

בקוד מעלה הפעלנו את ouibounce עם ההגדרות הבאות:

  • aggressive – כברירת מחדל הפופאפ יופעל רק פעם אחת לכל גולש באתר שלכם (מה שאומר שהשורה הזו בקוד מיותרת), וכשהוא מופעל נוצר cookie בדפדפן שלכן בכדי לא ליצור חוויה ״פולשנית״ מדי לגולש.
  • timer – הזמן ב -milliseconds עד שהפופאפ יופעל מהרגע והעכבר של המשתמש יצא מחלקו העליון של ה- viewport. ברירת המחדל היא שנייה אחת בכדי למנוע מצבים של false positives, כלומר שהגולש לא באמת התכוון לצאת. סביר להניח שהגולש לא יספיק לבצע את הפעולה בשנייה אחת ולכן נקבע ערך זה.
  • cookieExpire – מגדיר את הזמן עד שה cookie יפוג והפופאפ יקפוץ שוב לגולש. במקרה שלנו 21 ימים.

על הדרך, הצטרפו לרשימת התפוצה !

ישנן עוד אפשרויות ל ouibouce, תוכלו למצוא את כולן בקישור הבא.

לצורך בדיקות ובכדי שהפופאפ יקפוץ בכל טעינה של עמוד שנו את האפשרות aggressive ל true

בכדי לגרום לפופאפ להעלם כשלוחצים מחוץ למסגרת שלו ובשביל לוודא שבלחיצה על הפופאפ עצמו הוא לא ייסגר, נוסיף את השורות הבאות לאחר שורה מספר 10 בקוד מעלה:


/** Hide modal window on body click **/
$('body').on('click', function() {
    ouibounceElmnt.fadeOut(200);
});

/** Prevent propagation while clicking on the popup **/
ouibounceElmnt.find('.modal').on('click', function(e) {
    e.stopPropagation();
});

נעצב מעט את הפופאפ

בכדי שהפופאפ יופיע במרכז המסך נוסיף לו מעט css. הנה דרך אחת לגרום לפופאפ להיות במרכז המסך:

#ouibounce-modal {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999;

}
#ouibounce-modal .underlay {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    background-color:rgba(255,255,255,0.9);
    cursor:pointer;
    -webkit-animation:fadein .5s;
    animation:fadein .5s
}
.modal {
    width: 600px;
    height: 290px;
    z-index: 1;
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    max-width: 96%;
    bottom: 0;
    left: 0;
    line-height:0;
    -webkit-animation: popin .3s;
    animation: popin .3s;
    background: #272822;
    background-size: contain;
    display: flex;
    align-items: center;
    justify-content: center;
}

בשלב הנוכחי אתם אמורים לראות פופאפ בסגנון הבא (בלי השטויות שאני הוספתי):

פופאפ!

אצלכם כנראה הוא פשוט מופיע על המסך ללא אנימציה, הוסיפו את ה css הבא בכדי שהטופס יופיע בצורה נחמדה יותר:


@-webkit-keyframes popin {
    0% {
        -webkit-transform:scale(0);
        transform:scale(0);
        opacity:0
    }
    85% {
        -webkit-transform:scale(1.05);
        transform:scale(1.05);
        opacity:1
    }
    100% {
        -webkit-transform:scale(1);
        transform:scale(1);
        opacity:1
    }
}

@-ms-keyframes popin {
    0% {
        -ms-transform:scale(0);
        transform:scale(0);
        opacity:0
    }
    85% {
        -ms-transform:scale(1.05);
        transform:scale(1.05);
        opacity:1
    }
    100% {
        -ms-transform:scale(1);
        transform:scale(1);
        opacity:1
    }
}

@keyframes popin {
    0% {
        -webkit-transform:scale(0);
        -ms-transform:scale(0);
        transform:scale(0);
        opacity:0
    }
    85% {
        -webkit-transform:scale(1.05);
        -ms-transform:scale(1.05);
        transform:scale(1.05);
        opacity:1
    }
    100% {
        -webkit-transform:scale(1);
        -ms-transform:scale(1);
        transform:scale(1);
        opacity:1
    }
}

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

לסיכום

ראינו במדריך זה תהליך פשוט לבניית פופאפ יציאה בוורדפרס (exit intent popup) באמצעות הספרייה ouibounce.js. ישנו אף תוסף המשתמש בספרייה זו, אך אני תמיד מעדיף לכתוב בעצמי מה שאני יכול במקום להשתמש בתוספים, קחו את זה לאן שנוח לכם.. בין אם אהבתם או לא, אשמח לשמוע בתגובות !

רועי יוסף

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

תגובות פייסבוק

{ 0 תגובות… הוסף אחת }

השאירו תגובה

שיתופים
קראו גם את:
מודיפיקציה לולאה וורדפרס
מודיפיקציה ללולאה של וורדפרס

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