Как добавить событие покупки-конверсии Google Ads на мою страницу благодарности WooCommerce

я видел это Добавление тега события Google Реклама на страницу конверсии (thank you.php)

Но у меня другая ситуация. Я использую «Автозавершение обработки заказов WooCommerce на странице благодарности» и «Перенаправление страницы оформления заказа WooCommerce», все они находятся внутри моего файла functions.php.

Вот как выглядит мой файл functions.php. Я скрыл свой сайт с помощью " ********** "

//Auto Complete Processing WooCommerce orders on Thankyou Page

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) { 
    if ( ! $order_id ) {
        return;
    }

    $order = wc_get_order( $order_id );
    if ( $order->has_status('processing') ) {
        $order->update_status( 'completed' );
    }
   
}

// Redirect WooCommerce checkout page to ******************** after the payament
add_action( 'woocommerce_thankyou', 'pfwp_redirect_woo_checkout');
function pfwp_redirect_woo_checkout( $order_id ){
    $order = wc_get_order( $order_id );
    $url = 'https://*********/*********/*********/';
    if ( ! $order->has_status( 'failed' ) ) {
        wp_safe_redirect( $url );
        exit;
    }
}

И я хочу добавить фрагмент события в благодарность за рекламу Google.

<!-- Event snippet for Purchase conversion page -->
<script>
  gtag('event', 'conversion', {
      'send_to': 'AW-***********/********kDENy8vL4o',
      'value': 1.0,
      'currency': 'SAR',
      'transaction_id': ''
  });
</script>
<!-- End Event snippet for Purchase conversion page -->


Поскольку я перенаправляю страницу благодарности на другую страницу, сработает скрипт? Или не?

И как и где мне добавить фрагмент события в functions.php, потому что у меня много кода, управляющего WooCommerce?

Вы просто отслеживаете конверсии, не добавляя ценность конверсии? Поскольку вы показываете 1.0, я предполагаю, что вы не хотите. Является ли страница, которую вы перенаправляете, обычной страницей WordPress? Ваш редирект работает так, как вы ожидаете, или нет?

Howard E 20.03.2022 12:13

Я не знаю, как я могу получить значение конверсии, и да, страница является страницей WordPress. Это работает, как и ожидалось.

KDot 20.03.2022 16:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
79
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Если вы добавите свой скрипт с другим учебником:

add_action( 'woocommerce_thankyou', 'ds_checkout_analytics' );

И ваше перенаправление с помощью:

add_action( 'woocommerce_thankyou', 'pfwp_redirect_woo_checkout');

Просто сделайте это, чтобы запустить отслеживание перед перенаправлением:

add_action( 'woocommerce_thankyou', 'pfwp_redirect_woo_checkout', 12 );
add_action( 'woocommerce_thankyou', 'ds_checkout_analytics', 11 );

Указав хук «приоритет», мы только что сказали WordPress запустить ds_checkout_analytics() перед pfwp_redirect_woo_checkout(). Приоритет по умолчанию = 10

Спасибо, что объяснили это. Не могли бы вы отредактировать мой файл functions.php с предоставленными вами кодами, пожалуйста? Боюсь, что я испортил файл. И прокомментируйте, где я должен вставить фрагмент события, пожалуйста.

KDot 20.03.2022 03:04
Ответ принят как подходящий

Поскольку вы перенаправляетесь на другую страницу, вам необходимо добавить код конверсии на этой странице. Для этого я установил переходный процесс для передачи этого значения.

Ваши функции для thank_you можно комбинировать.

Это проверено и должно работать для вас.

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' );
function custom_woocommerce_auto_complete_order( $order_id ) {
    if ( ! $order_id ) {
        return;
    }
    $order = wc_get_order( $order_id );
    if ( $order->has_status( 'processing' ) ) {
        $order->update_status( 'completed' );
    }
    $url = 'https://*******/'; // Your redirect URL.
    if ( ! $order->has_status( 'failed' ) ) {
        ob_start();
        set_transient( 'wc_order_total_for_google', $order->get_total( 'edit' ), 1 * MINUTE_IN_SECONDS );
        wp_safe_redirect( $url );
        exit;
    }
}

add_action( 'wp_print_footer_scripts', 'dd_add_conversion_code' );
function dd_add_conversion_code() {
    if ( is_page( your_custom_page_id ) ) { //Set your custom page ID here.
        if ( false !== get_transient( 'wc_order_total_for_google' ) ) {
            $order_total = get_transient( 'wc_order_total_for_google' );
            ?>
            <!-- Event snippet for Purchase conversion page -->
            <script>
                gtag('event', 'conversion', {
                    'send_to': 'AW-***********/********kDENy8vL4o',
                    'value': <?php echo esc_attr( $order_total ); ?>,
                    'currency': 'SAR',
                    'transaction_id': ''
                });
            </script>
            <!-- End Event snippet for Purchase conversion page -->
            <?php
            delete_transient( 'wc_order_total_for_google' );
        }
    }
}

Страница, на которую я перенаправляюсь, — это страница панели инструментов, и если бы я сделал то, что вы сказали, я бы получил неправильные данные, потому что эта страница доступна для всех, у кого есть учетная запись. @businessbloomer дал мне хороший трюк, но я хочу, чтобы кто-нибудь правильно включил его в мой файл functions.php. Не могли бы вы сделать это, пожалуйста?

KDot 20.03.2022 20:25

Нет, вы получите преобразование только в том случае, если установлен переходный процесс .... Который будет установлен только в том случае, если транзакция произошла. Попробуй это

Howard E 20.03.2022 20:37

У меня есть вопрос, страница, на которую я перенаправляюсь, является обычной страницей с GIF и сообщением с благодарностью. Я помещаю ссылку на страницу внутри $url = . и я помещаю идентификатор страницы внутрь if ( is_page(****) ). А если я уберу нижний колонтитул с этой страницы, конвертация все равно будет работать?

KDot 01.04.2022 03:53

Другие вопросы по теме