На всех страницах выполняется php сниппет:
if(isset($_GET["utm_term"])) setcookie("utm_term",$_GET["utm_term"],time()+3600*24*30,"/");
if(isset($_GET["utm_source"])) setcookie("utm_source",$_GET["utm_source"],time()+3600*24*30,"/");
if(isset($_GET["utm_campaign"])) setcookie("utm_campaign",$_GET["utm_campaign"],time()+3600*24*30,"/");
Кукисы записываются, проверял в настройках Chrome: "Конфиденциальность и безопасность - Файлы cookie и другие данные сайтов - Все файлы cookie и данные сайта" нахожу там сайт и есть term, source и campaign.
В WordPress "Внешний вид - Редактор тем - Functions.php" добавлена строчка:
function dynamictext_cf7_cookie($atts){
extract(shortcode_atts(array(
'key' => -1,
), $atts));
if($key == -1) return '';
$val = '';
if( isset( $_COOKIE[$key] ) ){
$val = $_COOKIE[$key];
}
return $val;
}
add_shortcode('DT_CF7_COOKIE', 'dynamictext_cf7_cookie');
В Contact Form в теле письма:
utm_source: [utm_source]
utm_campaign: [utm_campaign]
utm_term: [utm_term]
В 3rdparty Services:
Label=utm_source, Form Submission Field=utm_source, 3rd-Party Field=utm_source
Label=utm_campaign, Form Submission Field=utm_campaign, 3rd-Party Field=utm_campaign
Label=utm_term, Form Submission Field=utm_term, 3rd-Party Field=utm_term
В Contact Form 7 в шаблоне формы:
[dynamichidden utm_source "DT_CF7_COOKIE key='utm_source'"]
[dynamichidden utm_campaign "DT_CF7_COOKIE key='utm_campaign'"]
[dynamichidden utm_term "DT_CF7_COOKIE key='utm_term'"]
В итоге когда по ссылке с utm метками человек заполняет форму, письмо приходит без UTM меток. Но когда я сам проверяю и обновляю страницу несколько раз - метки приходят. Но посетитель несколько раз страницу не обновляет и у него не приходят. Подозреваю что дело в коде для function.php.