You are here

protected static function GoogleAnalyticsAdminSettingsForm::validateParameterName in Google Analytics 8.3

Same name and namespace in other branches
  1. 4.x src/Form/GoogleAnalyticsAdminSettingsForm.php \Drupal\google_analytics\Form\GoogleAnalyticsAdminSettingsForm::validateParameterName()

Checks whether a parameter name is valid.

Parameters

string $name: The option value entered by the user.

Return value

string|null The error message if the specified value is invalid, NULL otherwise.

1 call to GoogleAnalyticsAdminSettingsForm::validateParameterName()
GoogleAnalyticsAdminSettingsForm::validateParameterValues in src/Form/GoogleAnalyticsAdminSettingsForm.php
The #element_validate callback for parameters.

File

src/Form/GoogleAnalyticsAdminSettingsForm.php, line 918

Class

GoogleAnalyticsAdminSettingsForm
Configure Google_Analytics settings for this site.

Namespace

Drupal\google_analytics\Form

Code

protected static function validateParameterName($name) {

  // List of supported field names:
  // https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#create
  $allowed_parameters = [
    'client_id',
    'currency',
    'country',
    'cookie_name',
    'cookie_domain',
    'cookie_expires',
    'optimize_id',
    'sample_rate',
    'send_page_view',
    'site_speed_sample_rate',
    'use_amp_client_id',
  ];
  if ($name == 'allow_ad_personalization_signals') {
    return t('Parameter name %name is disallowed. Please configure <em>Track display features</em> under <em>Tracking scope > Search and Advertising</em>.', [
      '%name' => $name,
    ]);
  }
  if ($name == 'anonymize_ip') {
    return t('Parameter name %name is disallowed. Please configure <em>Anonymize visitors IP address</em> under <em>Tracking scope > Privacy</em>.', [
      '%name' => $name,
    ]);
  }
  if ($name == 'link_attribution') {
    return t('Parameter name %name is disallowed. Please configure <em>Track enhanced link attribution</em> under <em>Tracking scope > Links and downloads</em>.', [
      '%name' => $name,
    ]);
  }
  if ($name == 'linker') {
    return t('Parameter name %name is disallowed. Please configure <em>Multiple top-level domains</em> under <em>Tracking scope > Domains</em> to enable cross domain tracking.', [
      '%name' => $name,
    ]);
  }
  if ($name == 'user_id') {
    return t('Parameter name %name is disallowed. Please configure <em>Track User ID</em> under <em>Tracking scope > Users</em>.', [
      '%name' => $name,
    ]);
  }
  if (!in_array($name, $allowed_parameters)) {
    return t('Parameter name %name is unknown. Parameters are case sensitive. Please see <a href=":url">documentation</a> for supported parameters.', [
      '%name' => $name,
      ':url' => 'https://developers.google.com/analytics/devguides/collection/gtagjs/',
    ]);
  }
  return NULL;
}