בית › מרכז הידע › מדידה › מדריכי יישום
מדריך יישום · קודמתקדם

Enhanced Conversions ל-Google Ads

כך גם גוגל מקבל את ההמרות שאבדו, בלי להסתמך על קוקיז

מדריך יישום · לקהל טכני · 12 דקות

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

חשוב לדעת: הקוד נכתב לפי ה-API הרשמי של Google Ads ו-WooCommerce, ונבדק על התקנה סטנדרטית. כללי הנרמול וה-גיבוב (hashing) של גוגל מדויקים מאוד (רווח, אות גדולה, או טלפון שאינו בפורמט E.164 שוברים התאמה בשקט). השתמשו בקוד כבסיס, לא כהבטחה שיתאים לכל אתר ללא שינויים. אמתו ב-Diagnostics ובסביבת פיתוח.
חדש כאן? מומלץ להתחיל במפת הארכיטקטורה, שמציגה את כל שכבות המדידה במבט אחד לפני שנכנסים למימוש.
איפה אנחנו נמצאים במערכת · פרק 18 מתוך 20
אתרמדידהניהול לידיםאוטומציהעסקהOffline Conversionלמידת האלגוריתם
מסלול קריאה מומלץ: Enhanced Conversions for LeadsGoogle EC (יישום) (כאן)
רמת קושימתקדם
זמן יישוםכ-35 דקות
נבדק עםWooCommerce 9.x · PHP 8.2+ · Google Ads · GTM
תואםEnhanced Conversions for Web (הגדרה מאוחדת 2026)
לא תואםיעדים מיובאים מ-GA (לא נתמכים ל-EC)
ידע נדרשPHP · Google Ads · GTM
עודכןאוגוסט 2026
בקצרה: Enhanced Conversions מוסיף לתגית ההמרה של Google Ads שכבת נתונים מגובבים (SHA-256), אימייל וטלפון, שגוגל מתאימה לחשבונות גוגל מחוברים. כך המרות שאבדו כי ה-GCLID נחסם או נמחק חוזרות להיספר. Enhanced Conversions פותר לגוגל בעיה דומה לזו ש-CAPI פותר במטא (שחזור המרות שאבדו), אבל בדרך שונה: לא ערוץ נוסף, אלא שכבת התאמה מגובבת.

הפער שגוגל צריך לסגור

גוגל מייחסת המרה למודעה דרך GCLID, מזהה הקליק שנשמר בקוקי. כשהקוקי חסום, נמחק, או המשתמש המיר במכשיר אחר, ההמרה קורית אבל לא מיוחסת לאף מודעה. Enhanced Conversions סוגר חלק מהפער: באתר נאסף מידע מזהה של הלקוח (בעיקר אימייל), הוא מגובב ב-SHA-256, וגוגל מתאימה אותו לחשבון גוגל מחובר.

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

Google
המרה
Google Tag
Enhanced Conversions
התאמה (hash ← חשבון גוגל)
ייחוס ההמרה
Meta
דפדפן
Pixel
event_id
CAPI (שרת)
דדופליקציה

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

חשוב: Enhanced Conversions אינו המרה נוספת, והוא לא סופר פעמיים. ההמרה נשארת אותה המרה, מה שנוסף לה הוא שכבת התאמה מגובבת, שרק עוזרת לגוגל לזהות שההמרה הזו שייכת לקליק שלכם.
איך זה עובד בפועל: Enhanced Conversions לא מחליף את GCLID. גוגל קודם מנסה לייחס את ההמרה בדרך הרגילה, דרך GCLID, ורק כשזה נכשל היא נעזרת בנתונים המגובבים כדי לשחזר את ההתאמה.

לפני שמתחילים

דרישות מקדימות

  • פעולת המרה ב-Google Ads שנוצרה עם ה-Google Tag או GTM. יעדים מיובאים מ-Google Analytics אינם נתמכים ל-Enhanced Conversions.
  • Enhanced Conversions מופעל בחשבון (מ-2026 זו הגדרה אחת מאוחדת ל-Web ו-Leads).
  • הסכמה למדידה (Consent Mode), הנתונים נשלחים רק אם ניתנה.
Consent Mode: גם Enhanced Conversions כפוף ל-Consent Mode. אם המשתמש לא נתן הסכמה לפרסום, תגית Google Ads לא תשלח את נתוני המשתמש, גם אם הקוד באתר מייצר אותם.

1החלק בשרת: בניית google_user_data

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

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

functions.php (Child Theme) או Code Snippet
/**
 * Expose the order's first-party data (SHA-256, Hex) to the dataLayer
 * on the Order Received page, so Enhanced Conversions can match it.
 * Raw PII is hashed on the SERVER and never reaches the browser.
 */
add_action( 'woocommerce_thankyou', 'doffice_google_ec_user_data', 5, 1 );

function doffice_google_ec_user_data( $order_id ) {
    if ( ! $order_id ) {
        return;
    }
    $order = wc_get_order( $order_id );
    if ( ! $order ) {
        return;
    }

    // --- normalize FIRST, then hash (SHA-256, Hex) ---
    $email = strtolower( trim( (string) $order->get_billing_email() ) );
    $fname = strtolower( trim( (string) $order->get_billing_first_name() ) );
    $lname = strtolower( trim( (string) $order->get_billing_last_name() ) );
    // preg_replace below only STRIPS FORMATTING. It is NOT yet E.164.
    // Convert to true E.164 (e.g. +972...) before hashing, or leave it empty.
    $phone = preg_replace( '/\D/', '', (string) $order->get_billing_phone() );

    $user_data = array(
        'sha256_email_address' => $email ? hash( 'sha256', $email ) : '',
        'sha256_phone_number'  => $phone ? hash( 'sha256', $phone ) : '',
        'address' => array(
            'sha256_first_name' => $fname ? hash( 'sha256', $fname ) : '',
            'sha256_last_name'  => $lname ? hash( 'sha256', $lname ) : '',
            'postal_code'       => $order->get_billing_postcode(),
            'country'           => $order->get_billing_country(),
        ),
    );
    ?>
    <script>
      window.dataLayer = window.dataLayer || [];
      window.dataLayer.push({
        'event': 'ec_user_data',
        'google_user_data': <?php echo wp_json_encode( $user_data ); ?>
      });
    </script>
    <?php
}
למה מיקוד ומדינה לא מגובבים? גוגל דורשת לגבב רק שדות שמזהים אדם ישירות (PII), כמו אימייל, טלפון ושם. מדינה ומיקוד אינם מזהים אדם בפני עצמם, ולכן נשלחים כפי שהם, בלי SHA-256.
חשוב: נרמול לפני גיבוב הוא קריטי, והטלפון הוא המלכודת הנפוצה. גוגל מצפה לפורמט E.164 (קידומת מדינה, למשל +972). WooCommerce לא שומר טלפון כך כברירת מחדל, אז או שתתאימו את הנרמול לפורמט האמיתי בחנות, או שתסתמכו על האימייל בלבד (שדה החובה) ותשאירו את הטלפון ריק.

2החלק ב-GTM: להפעיל Enhanced Conversions

ב-GTM מגדירים User-Provided Data variable בשיטת Code, שקורא את google_user_data מה-dataLayer, ומחברים אותו לתגית ההמרה. הצעדים:

  1. ליצור Variable חדש ← User-Provided Data.
  2. לבחור Source = Code.
  3. להחזיר את google_user_data.
  4. לפתוח את תגית Google Ads Conversion.
  5. להפעיל Enhanced Conversions.
  6. לבחור את המשתנה שיצרתם.

אם אתם עובדים עם gtag ישירות (בלי GTM), מגדירים את הנתונים לפני אירוע ההמרה:

gtag.js (חלופה ל-GTM)
<!-- If you use gtag.js directly (not GTM): set user_data BEFORE the -->
<!-- Google Ads conversion event fires, using the hashed values above.  -->
<script>
  gtag('set', 'user_data', {
    "sha256_email_address": dl.google_user_data.sha256_email_address,
    "sha256_phone_number":  dl.google_user_data.sha256_phone_number,
    "address": {
      "sha256_first_name": dl.google_user_data.address.sha256_first_name,
      "sha256_last_name":  dl.google_user_data.address.sha256_last_name,
      "postal_code":       dl.google_user_data.address.postal_code,
      "country":           dl.google_user_data.address.country
    }
  });
</script>
גיבוב בשרת דורש קידוד Hex (כמו שהקוד עושה). אם תעדיפו לשלוח נתונים גלמיים ולתת לתגית לגבב, זו אפשרות תקינה גם היא, פשוט מידע מזהה גולמי יעבור דרך הדפדפן.

3לבדוק שזה עובד

ב-Google Ads יש דוח Diagnostics ל-Enhanced Conversions. הוא מראה אם הנתונים המגובבים מתקבלים בפורמט תקין, ומה שיעור ההתאמה. אם משהו שבור (פורמט לא תקין, שדה חסר), הוא יופיע כאן, לרוב בלי שום שגיאה גלויה באתר עצמו.

Google Ads ← יעדיםהמרות ← בחירת פעולת ההמרה ← לשונית Diagnostics
Enhanced conversions diagnostics
סטטוס ההגדרהפעיל
פורמט הנתונים המגובביםתקין
שיעור התאמהמדווח
איור סכמטי להמחשת המיקום, לא צילום מסך

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

גבולות ומלכודות

  • נרמול לפני גיבוב. אימייל באותיות קטנות ובלי רווחים, טלפון ב-E.164. אחרת ההתאמה נשברת בשקט.
  • צד הדפדפן נחסם. כמו כל סקריפט צד-שלישי, גם זה נחסם ב-25 עד 35 אחוז מהמקרים. הפתרון: להריץ דרך Server-Side GTM, שמסיר חלק גדול מנקודות הכשל.
  • יעדים מיובאים מ-GA לא נתמכים. צריך פעולת המרה ייעודית של Google Ads.
  • פרטיות. hash של אימייל הוא מידע מזוהה-למחצה (pseudonymized), עדיין מידע אישי לפי GDPR. לשלוח רק בהסכמה.

מטא מול גוגל: מבט משווה

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

MetaGoogle
דפדפןPixelGoogle Tag
שרתCAPIלא חובה (אופציונלי)
מנגנון ההתאמהevent_idSHA-256
המזההevent_idhash של אימייל / טלפון
דדופליקציהכןלא
Server-sideכןאפשרי באמצעות Server GTM

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

מה הלאה: צד Google Ads של הארכיטקטורה

עם המדריך הזה, מדידת ההמרות עומדת על שני הצדדים באותה איכות, מטא וגם גוגל:

Meta · Pixel + CAPI
·
Google · Enhanced Conversions

לעסקים מבוססי-לידים, ההמשך הטבעי הוא Enhanced Conversions for Leads, שמחזירה עסקאות שנסגרו ב-CRM בחזרה לגוגל, בדיוק כמו המרות אופליין. זה סוגר את צד ה-Google Ads של המדידה, לא את כל הארכיטקטורה. עוד לפנינו שכבות: Server-Side GTM, Consent Mode, Measurement Protocol, וייחוס. אבל בשלב הזה, כל רכישה כבר נמדדת בשני הערוצים, ומיוחסת גם כשהקוקי נשבר.

מושגים שהוזכרו

Enhanced ConversionsGCLIDuser-provided dataSHA-256E.164Google Ads Conversion ActionUser-Provided Data variableConsent ModeDiagnostics reportEnhanced Conversions for Leads
שאלות נפוצות

שאלות ותשובות על היישום

מה ההבדל בין Enhanced Conversions ל-CAPI של מטא?
המטרה זהה: להחזיר המרות שאבדו לקוקיז. אבל המנגנון שונה. מטא מאחדת אירוע דפדפן ואירוע שרת לפי event_id משותף. גוגל לא משתמשת ב-event_id, אלא מתאימה את ה-hash של האימייל או הטלפון לחשבון גוגל מחובר של המשתמש.
צריך לגבב בעצמי, או שגוגל עושה את זה?
שתי האפשרויות קיימות. אפשר לשלוח נתונים גלמיים ולתת לתגית של גוגל לגבב בדפדפן, או לגבב בעצמכם בשרת (SHA-256, קידוד Hex). הגישה במדריך מגבבת בשרת, כדי שמידע מזהה גולמי לא יגיע בכלל לדפדפן.
למה בכלל צריך את זה, לא מספיק קוקי?
GCLID הוא מזהה הקליק שגוגל שומרת בקוקי. כשהקוקי חסום, נמחק, או המשתמש המיר במכשיר אחר, ההמרה קורית אבל לא מיוחסת למודעה. Enhanced Conversions סוגר חלק מהפער עם מזהה שני, מגובב.
מה קורה אם המשתמש לא מחובר לחשבון גוגל?
עבור אותה המרה ספציפית, לא תהיה התאמה. Enhanced Conversions משפר את המדידה בצבירה, לא מבטיח התאמה לכל המרה בודדת. ככל שיש יותר משתמשים מחוברים, ההשפעה גדולה יותר.
זה עובד גם ללידים, לא רק רכישות?
כן. יש גרסה שנקראת Enhanced Conversions for Leads שמחזירה עסקאות אופליין מה-CRM. החל מ-2026 ההגדרה של Web ו-Leads אוחדה למתג אחד. לעומק בצד האופליין: המרות אופליין.
איפה בודקים שזה עובד?
ב-Google Ads יש דוח Diagnostics ל-Enhanced Conversions, שמראה אם הנתונים המגובבים מתקבלים בפורמט תקין ומה שיעור ההתאמה.
הפרק הבא · פרק 19 מתוך 20מדידת אוטומציהלמדוד שהאוטומציות באמת פועלות

רוצים מדידה מלאה, בשני הצדדים?

נחבר לכם את Meta ו-Google באותה איכות, עם נתונים מגובבים, Server-Side GTM, ואימות מלא, כדי שכל המרה תיספר, לא משנה איפה נשבר הקוקי.

בואו נדבר