Automattic\WooCommerce\Internal\StockNotifications\Utilities
UtmHelper{}
Helper for appending UTM campaign parameters to outgoing stock-notification email links.
Centralizes the utm_source / utm_medium values so order attribution stays consistent across all three email types (verify, verified, back-in-stock).
No Hooks.
Usage
$UtmHelper = new UtmHelper(); // use class methods
Methods
UtmHelper{} UtmHelper{} code WC 10.9.1
class UtmHelper {
/**
* UTM source value used for all stock notification emails.
*/
public const UTM_SOURCE = 'back-in-stock-notifications';
/**
* Default UTM medium for stock notification emails.
*/
public const UTM_MEDIUM_EMAIL = 'email';
/**
* Append the standard email UTM parameters to a URL.
*
* @param string $url The URL to annotate.
* @param string $medium The UTM medium (defaults to `email`).
* @return string
*/
public static function add_email_utm_params( string $url, string $medium = self::UTM_MEDIUM_EMAIL ): string {
if ( empty( $url ) ) {
return $url;
}
// Defensive: lock down the medium to a safe URL-friendly slug, falling back to the default
// if sanitization strips everything. Prevents any future caller from piping user-controlled
// input into the outbound tracking URL.
$sanitized_medium = sanitize_key( $medium );
if ( '' === $sanitized_medium ) {
$sanitized_medium = self::UTM_MEDIUM_EMAIL;
}
return add_query_arg(
array(
'utm_source' => self::UTM_SOURCE,
'utm_medium' => $sanitized_medium,
),
$url
);
}
}