Take our developer survey. We want your feedback so we can learn how to improve Google Analytics, and make it an even better tool for you.

Filters: update

Requires authorization

Updates an existing filter. Try it now or see an example.

Request

HTTP request

PUT https://www.googleapis.com/analytics/v3/management/accounts/accountId/filters/filterId

Parameters

Parameter name Value Description
Path parameters
accountId string Account ID to which the filter belongs.
filterId string ID of the filter to be updated.

Authorization

This request requires authorization with the following scope (read more about authentication and authorization).

Scope
https://www.googleapis.com/auth/analytics.edit

Request body

In the request body, supply a management.filter resource with the following properties:

Property name Value Description Notes
Required Properties
name string Name of this filter. writable
type string Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE, UPPERCASE, SEARCH_AND_REPLACE and ADVANCED. writable
Optional Properties
advancedDetails.caseSensitive boolean Indicates if the filter expressions are case sensitive. writable
advancedDetails.extractA string Expression to extract from field A. writable
advancedDetails.extractB string Expression to extract from field B. writable
advancedDetails.fieldA string Field A. writable
advancedDetails.fieldAIndex integer The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. writable
advancedDetails.fieldARequired boolean Indicates if field A is required to match. writable
advancedDetails.fieldB string Field B. writable
advancedDetails.fieldBIndex integer The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. writable
advancedDetails.fieldBRequired boolean Indicates if field B is required to match. writable
advancedDetails.outputConstructor string Expression used to construct the output value. writable
advancedDetails.outputToField string Output field. writable
advancedDetails.outputToFieldIndex integer The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. writable
advancedDetails.overrideOutputField boolean Indicates if the existing value of the output field, if any, should be overridden by the output expression. writable
excludeDetails.caseSensitive boolean Determines if the filter is case sensitive. writable
excludeDetails.expressionValue string Filter expression value writable
excludeDetails.field string Field to filter. Possible values:
  • Content and Traffic
    • PAGE_REQUEST_URI,
    • PAGE_HOSTNAME,
    • PAGE_TITLE,
    • REFERRAL,
    • COST_DATA_URI (Campaign target URL),
    • HIT_TYPE,
    • INTERNAL_SEARCH_TERM,
    • INTERNAL_SEARCH_TYPE,
    • SOURCE_PROPERTY_TRACKING_ID,
  • Campaign or AdGroup
    • CAMPAIGN_SOURCE,
    • CAMPAIGN_MEDIUM,
    • CAMPAIGN_NAME,
    • CAMPAIGN_AD_GROUP,
    • CAMPAIGN_TERM,
    • CAMPAIGN_CONTENT,
    • CAMPAIGN_CODE,
    • CAMPAIGN_REFERRAL_PATH,
  • E-Commerce
    • TRANSACTION_COUNTRY,
    • TRANSACTION_REGION,
    • TRANSACTION_CITY,
    • TRANSACTION_AFFILIATION (Store or order location),
    • ITEM_NAME,
    • ITEM_CODE,
    • ITEM_VARIATION,
    • TRANSACTION_ID,
    • TRANSACTION_CURRENCY_CODE,
    • PRODUCT_ACTION_TYPE,
  • Audience/Users
    • BROWSER,
    • BROWSER_VERSION,
    • BROWSER_SIZE,
    • PLATFORM,
    • PLATFORM_VERSION,
    • LANGUAGE,
    • SCREEN_RESOLUTION,
    • SCREEN_COLORS,
    • JAVA_ENABLED (Boolean Field),
    • FLASH_VERSION,
    • GEO_SPEED (Connection speed),
    • VISITOR_TYPE,
    • GEO_ORGANIZATION (ISP organization),
    • GEO_DOMAIN,
    • GEO_IP_ADDRESS,
    • GEO_IP_VERSION,
  • Location
    • GEO_COUNTRY,
    • GEO_REGION,
    • GEO_CITY,
  • Event
    • EVENT_CATEGORY,
    • EVENT_ACTION,
    • EVENT_LABEL,
  • Other
    • CUSTOM_FIELD_1,
    • CUSTOM_FIELD_2,
    • USER_DEFINED_VALUE,
  • Application
    • APP_ID,
    • APP_INSTALLER_ID,
    • APP_NAME,
    • APP_VERSION,
    • SCREEN,
    • IS_APP (Boolean Field),
    • IS_FATAL_EXCEPTION (Boolean Field),
    • EXCEPTION_DESCRIPTION,
  • Mobile device
    • IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
    • IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
    • DEVICE_CATEGORY,
    • MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
    • MOBILE_HAS_NFC_SUPPORT (Boolean Field),
    • MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
    • MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
    • MOBILE_BRAND_NAME,
    • MOBILE_MODEL_NAME,
    • MOBILE_MARKETING_NAME,
    • MOBILE_POINTING_METHOD,
  • Social
    • SOCIAL_NETWORK,
    • SOCIAL_ACTION,
    • SOCIAL_ACTION_TARGET,
writable
excludeDetails.fieldIndex integer The Index of the custom dimension. Set only if the field is a is CUSTOM_DIMENSION. writable
excludeDetails.matchType string Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all other filters must use MATCHES. writable
includeDetails.caseSensitive boolean Determines if the filter is case sensitive. writable
includeDetails.expressionValue string Filter expression value writable
includeDetails.field string Field to filter. Possible values:
  • Content and Traffic
    • PAGE_REQUEST_URI,
    • PAGE_HOSTNAME,
    • PAGE_TITLE,
    • REFERRAL,
    • COST_DATA_URI (Campaign target URL),
    • HIT_TYPE,
    • INTERNAL_SEARCH_TERM,
    • INTERNAL_SEARCH_TYPE,
    • SOURCE_PROPERTY_TRACKING_ID,
  • Campaign or AdGroup
    • CAMPAIGN_SOURCE,
    • CAMPAIGN_MEDIUM,
    • CAMPAIGN_NAME,
    • CAMPAIGN_AD_GROUP,
    • CAMPAIGN_TERM,
    • CAMPAIGN_CONTENT,
    • CAMPAIGN_CODE,
    • CAMPAIGN_REFERRAL_PATH,
  • E-Commerce
    • TRANSACTION_COUNTRY,
    • TRANSACTION_REGION,
    • TRANSACTION_CITY,
    • TRANSACTION_AFFILIATION (Store or order location),
    • ITEM_NAME,
    • ITEM_CODE,
    • ITEM_VARIATION,
    • TRANSACTION_ID,
    • TRANSACTION_CURRENCY_CODE,
    • PRODUCT_ACTION_TYPE,
  • Audience/Users
    • BROWSER,
    • BROWSER_VERSION,
    • BROWSER_SIZE,
    • PLATFORM,
    • PLATFORM_VERSION,
    • LANGUAGE,
    • SCREEN_RESOLUTION,
    • SCREEN_COLORS,
    • JAVA_ENABLED (Boolean Field),
    • FLASH_VERSION,
    • GEO_SPEED (Connection speed),
    • VISITOR_TYPE,
    • GEO_ORGANIZATION (ISP organization),
    • GEO_DOMAIN,
    • GEO_IP_ADDRESS,
    • GEO_IP_VERSION,
  • Location
    • GEO_COUNTRY,
    • GEO_REGION,
    • GEO_CITY,
  • Event
    • EVENT_CATEGORY,
    • EVENT_ACTION,
    • EVENT_LABEL,
  • Other
    • CUSTOM_FIELD_1,
    • CUSTOM_FIELD_2,
    • USER_DEFINED_VALUE,
  • Application
    • APP_ID,
    • APP_INSTALLER_ID,
    • APP_NAME,
    • APP_VERSION,
    • SCREEN,
    • IS_APP (Boolean Field),
    • IS_FATAL_EXCEPTION (Boolean Field),
    • EXCEPTION_DESCRIPTION,
  • Mobile device
    • IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile),
    • IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet),
    • DEVICE_CATEGORY,
    • MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field),
    • MOBILE_HAS_NFC_SUPPORT (Boolean Field),
    • MOBILE_HAS_CELLULAR_RADIO (Boolean Field),
    • MOBILE_HAS_WIFI_SUPPORT (Boolean Field),
    • MOBILE_BRAND_NAME,
    • MOBILE_MODEL_NAME,
    • MOBILE_MARKETING_NAME,
    • MOBILE_POINTING_METHOD,
  • Social
    • SOCIAL_NETWORK,
    • SOCIAL_ACTION,
    • SOCIAL_ACTION_TARGET,
writable
includeDetails.fieldIndex integer The Index of the custom dimension. Set only if the field is a is CUSTOM_DIMENSION. writable
includeDetails.matchType string Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all other filters must use MATCHES. writable
lowercaseDetails.field string Field to use in the filter. writable
lowercaseDetails.fieldIndex integer The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. writable
searchAndReplaceDetails.caseSensitive boolean Determines if the filter is case sensitive. writable
searchAndReplaceDetails.field string Field to use in the filter. writable
searchAndReplaceDetails.fieldIndex integer The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. writable
searchAndReplaceDetails.replaceString string Term to replace the search term with. writable
searchAndReplaceDetails.searchString string Term to search. writable
uppercaseDetails.field string Field to use in the filter. writable
uppercaseDetails.fieldIndex integer The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. writable

Response

If successful, this method returns a management.filter resource in the response body.

Examples

Note: The code examples available for this method do not represent all supported programming languages (see the client libraries page for a list of supported languages).

Java

Uses the Java client library.

/*
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Filters Developer Guide for details.
 */

/*
 * This example updates an existing filter.
 */

// Construct the filter Expression object.
AnalyticsManagementFiltersFilterExpression details = new
    AnalyticsManagementFiltersFilterExpression();
details.setField("GEO_DOMAIN");
details.setMatchType("EQUAL");
details.setExpressionValue("example.com");
details.setCaseSensitive(false);

// Construct the body of the request.
Filter body = new Filter();
body.setName("My Domain Filter");
body.setType("EXCLUDE");
body.setExcludeDetails(details);

try {
  analytics.management().filters().update("123456", "1223334444", body).execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}

PHP

Uses the PHP client library.

/**
 * Note: This code assumes you have an authorized Analytics service object.
 * See the Filters Developer Guide for details.
 */

/**
 * This request updates an existing filter.
 */
try {

  // Construct the filter expression object.
  $details = new Google_Service_Analytics_FilterExpression();
  $details->setField('GEO_DOMAIN');
  $details->setMatchType('EQUAL');
  $details->setExpressionValue('example.com');
  $details->setCaseSensitive(false);

  // Construct the filter and set the details.
  $filter = new Google_Service_Analytics_Filter();
  $filter->setName('My Domain Filter');
  $filter->setType('EXCLUDE');
  $filter->setId('7654321');
  $filter->setExcludeDetails($details);
  $analytics->management_filters->update('123456', '7654321', $filter);
} catch (apiServiceException $e) {
  print 'There was an Analytics API service error '
      . $e->getCode() . ':' . $e->getMessage();
} catch (apiException $e) {
  print 'There was a general API error '
      . $e->getCode() . ':' . $e->getMessage();
}

Python

Uses the Python client library.

# Note: This code assumes you have an authorized Analytics service object.
# See the Filters Developer Guide for details.

# This request updates an existing filter.
try:
  analytics.management().filters().update(
      accountId='123456',
      filterId='1223334444',
      body={
          'name': 'My Domain Filter',
          'type': 'EXCLUDE',
          'excludeDetails': {
              'field': 'GEO_DOMAIN',
              'matchType': 'EQUAL',
              'expressionValue': 'example.com',
              'caseSensitive': False
              }
      }
  ).execute()

except TypeError, error:
  # Handle errors in constructing a query.
  print 'There was an error in constructing your query : %s' % error

except HttpError, error:
  # Handle API errors.
  print ('There was an API error : %s : %s' %
         (error.resp.status, error.resp.reason))

JavaScript

Uses the JavaScript client library.

/*
 * Note: This code assumes you have an authorized Analytics client object.
 * See the Filters Developer Guide for details.
 */

/*
 * This request updates an existing filter.
 */
function updateFilter() {
  var request = gapi.client.analytics.management.filters.update(
    {
      'accountId': '123456',
      'filterId': '1223334444',
      'resource': {
        'id': '1223334444',
        'name': 'My Domain Filter',
        'type': 'EXCLUDE',
        'excludeDetails': {
          'field': 'GEO_DOMAIN',
          'matchType': 'EQUAL',
          'expressionValue': 'example.com',
          'caseSensitive': false
        }
      }
    });
  request.execute(function (response) { // Handle the response. });
}

Try it!

Use the APIs Explorer below to call this method on live data and see the response. Alternatively, try the standalone Explorer.