Для себя решил нехитрым способом.
1. Добавляем этот код в function.php
2. В каждую форму добавляем 2 скрытых поля:
[hidden gclid] [hidden gad_source]
3. Радуемся, что код сохраняет эти значения в кукис
4. Забираем из кукис куда нужно
Немножко пояснения что это за дичь и зачем она нужна?
gclid — Google Client ID
gad_source — Google ADS source
В целом оба параметра отвечают за идентификацию клиента из рекламных источников.
Лично мне пришлось искать варианты как брать эти данные из адресной строки, сохранять и потом передавать в CRM систему.
Как это выглядит у пользователя, когда он просто кликает по рекламной ссылке? Да примерно вот так:
https://yourdomain.com/?utm_term=expedited%20freight%20carriers&utm_campaign=Google+Search+ad+Campaign&utm_source=adwords&utm_medium=ppc&gad_source=1&gclid=EAIaIQobChMI1Z2o0t6EjAMV2ReiAx1vbhLxEAAYASAAEgJ97_D_BwE
То есть помимо привычных нам UTM Paremetrs теперь есть ещё и gad_source и gclid.
Как это в итоге вышло:
/* IREKUNENKO ADD ADDITIONAL MARKETING INFORMATION */ /* In Contact forms need to add 2 hidden fields [hidden gclid] [hidden gad_source] */ function save_utm_to_cookies() { if (!is_admin()) { if (isset($_GET['gclid'])) { setcookie('gclid', sanitize_text_field($_GET['gclid']), time() + 86400, '/'); } if (isset($_GET['gad_source'])) { setcookie('gad_source', sanitize_text_field($_GET['gad_source']), time() + 86400, '/'); } } } add_action('init', 'save_utm_to_cookies'); function populate_hidden_fields($tag) { if ($tag['name'] == 'gclid' && isset($_COOKIE['gclid'])) { $tag['values'] = [sanitize_text_field($_COOKIE['gclid'])]; } if ($tag['name'] == 'gad_source' && isset($_COOKIE['gad_source'])) { $tag['values'] = [sanitize_text_field($_COOKIE['gad_source'])]; } return $tag; } add_filter('wpcf7_form_tag', 'populate_hidden_fields', 10, 1);