// Function to check UTM parameters and trigger webhook
function vap_utm_webhook_check() {
$allowed_query_params = array('utm_source','utm_campaign','utm_gruppo','utm_annuncio','gclid', 'fbclid', 'ttclid');
$matching_params = array();
foreach ($allowed_query_params as $param) {
if (isset($_GET[$param])) {
$matching_params[$param] = $_GET[$param];
}
}
if (!empty($matching_params)) {
// Replace 'your_webhook_url' with the actual URL of your webhook endpoint
$webhook_url = 'https://hook.eu1.make.com/bxtfysudqbkusmzoaedrpt871e7yput3';
// Retrieve browser information
$user_agent = isset( $_SERVER['HTTP_USER_AGENT'] ) ? sanitize_text_field( wp_unslash( $_SERVER['HTTP_USER_AGENT'] ) ) : '';
$matching_params['user_agent'] = $user_agent;
// Retrieve client IP address
$client_ip = isset( $_SERVER['REMOTE_ADDR'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REMOTE_ADDR'] ) ) : '';
$matching_params['client_ip'] = $client_ip;
// Add the current source URL to the payload
$matching_params['source_url'] = esc_url(wp_get_referer() ?: home_url());
$matching_params['current_url'] = esc_url(home_url( $_SERVER['REQUEST_URI'] ));
// Prepare webhook payload
$payload = $matching_params;
// Send the POST request to the webhook
wp_safe_remote_post($webhook_url, array(
'body' => json_encode($payload),
'headers' => array('Content-Type' => 'application/json'),
));
}
}
// Hook to run the webhook check
add_action('init', 'vap_utm_webhook_check');
Comments