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: patch

Requires authorization

Updates an existing filter. This method supports patch semantics. Try it now or see an example.

Request

HTTP request

PATCH 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 the relevant portions of a management.filter resource, according to the rules of patch semantics.

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 patches 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().patch("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 patches 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->setExcludeDetails($details);
  $analytics->management_filters->patch('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 patches an existing filter.
try:
  analytics.management().filters().patch(
      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 patches an existing filter.
 */
function patchFilter() {
  var request = gapi.client.analytics.management.filters.patch(
    {
      'accountId': '123456',
      'filterId': '1223334444',
      'resource': {
        '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.