#facebook #woocommerce #facebook-ads-api #utm
Вопрос:
Я работаю с клиентом, который проводит рекламные кампании в facebook. Проблема в том, что он хочет знать, какие объявления создают заказы, которые генерируются в его магазине woocommerce. Моей первой идеей было отслеживать UTMS моей кампании и добавлять ее в заказы на покупку. Для этого мы разрабатываем плагин.
Проблема в том, что после ее внедрения мы поняли, что не все заказы, которые Facebook приписывает кампаниям, генерируются в результате клика по объявлению, и поскольку плагин сохранял файл cookie, когда клик по объявлению был сделан для фиксации события покупки на веб-сайте, эти другие дополнительные продажи, которые facebook приписывает объявлениям, не фиксируются моим плагином.
В поисках информации на facebook они указывают, что некоторые конверсии могут быть связаны только с фактом показа, а не обязательно с кликом по объявлению, я полагаю, что в этом и должна быть проблема. На данный момент я хотел бы знать, есть ли какой-либо способ отслеживать все конверсии, которые Facebook приписывает менеджеру объявлений, чтобы иметь возможность определить в woocommerce моего клиента, какая кампания и объявление генерируют заказы на покупку. То, что я ищу, — это следующее изображение, прикрепленное к полным столбцам.
3 столбца, выделенные красным цветом, в настоящее время захвачены моим плагином и являются источником, Кампанией и объявлениями.
Но, например, порядок приведенного ниже списка также был определен facebook, как вы можете видеть на этих 2 изображениях. ($ 18,29 = S / 76), однако UTM не отслеживаются. Любая стратегия для достижения этой цели помогла бы мне.
This is my plugin code:
if (!defined('UTM_TRACKER_VERSION_NUM')) {
define('UTM_TRACKER_VERSION_NUM', '1.0.0');
}
function woocamtrack_save_tracking_parameters()
{
$cookies = array();
if (!empty($_COOKIE['_woocamtrack_values'])) {
$cookies = json_decode(base64_decode($_COOKIE['_woocamtrack_values']), true);
}
$change = false;
foreach ($_GET as $key => $value) {
if (substr($key, 0, 4) == "utm_") {
$cookies[$key] = $value;
$change = true;
}
}
if ($change) {
setcookie('_woocamtrack_values', base64_encode(json_encode($cookies)), time() 3600*24*7, "", "", true, true);
}
}
add_action('parse_request', 'woocamtrack_save_tracking_parameters', 9);
function woocamtrack_add_columns($columns)
{
$columns['utm_source'] = "Origen";
$columns['utm_campaign'] = "Campaña";
$columns['utm_content'] = "Anuncio";
return $columns;
}
function woocamtrack_custom_column($column)
{
if (!in_array($column, ['utm_source', 'utm_campaign', 'utm_content'])) {
return;
}
global $post;
$data = get_post_meta($post->ID);
echo isset($data[$column]) ? $data[$column][0] : '';
}
// function woocamtrack_tracker_script()
// {
// wp_enqueue_script('woocamtrack-tracker-js', plugins_url('/js/tracker.js', __FILE__), null, UTM_TRACKER_VERSION_NUM, true);
// }
function woocamtrack_save_order_cookies($orderId, $order = null)
{
if (!isset($_COOKIE['_woocamtrack_values'])) {
return;
}
$value = base64_decode($_COOKIE['_woocamtrack_values']);
$values = json_decode($value, true);
foreach ($values as $key => $value) {
update_post_meta($orderId, $key, $value);
}
}
add_filter('manage_edit-shop_order_columns', 'woocamtrack_add_columns', 21);
add_action('manage_shop_order_posts_custom_column', 'woocamtrack_custom_column', 21);
// add_action('wp_enqueue_scripts', 'woocamtrack_tracker_script');
add_action('woocommerce_new_order', 'woocamtrack_save_order_cookies');
// Export
function woocamtrack_custom_formatter($labels)
{
$labels['order']->__set('utm_source', "Origen");
$labels['order']->__set('utm_campaign', "Campaña");
$labels['order']->__set('utm_content', "Anuncio");
}
function woocamtrack_custom_header($headers)
{
$headers[] = "Origen";
$headers[] = "Campaña";
$headers[] = "Anuncio";
return $headers;
}
add_action('woe_make_header_custom_formatter', 'woocamtrack_custom_formatter');
add_filter('woe_xls_header_filter', 'woocamtrack_custom_header');