# Google Analytics API . management . customMetrics

## Instance Methods

Get a custom metric to which the user has access.

Create a new custom metric.

Lists custom metrics to which the user has access.

Updates an existing custom metric. This method supports patch semantics.

Updates an existing custom metric.

### Method Details

`get(accountId, webPropertyId, customMetricId)`

    Get a custom metric to which the user has access.

    Args:
      accountId: string, Account ID for the custom metric to retrieve. (required)
      webPropertyId: string, Web property ID for the custom metric to retrieve. (required)
      customMetricId: string, The ID of the custom metric to retrieve. (required)

    Returns:
      An object of the form:

        { # JSON template for Analytics Custom Metric.
          "index": 42, # Index of the custom metric.
          "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
          "name": "A String", # Name of the custom metric.
          "created": "A String", # Time the custom metric was created.
          "max_value": "A String", # Max value of custom metric.
          "min_value": "A String", # Min value of custom metric.
          "updated": "A String", # Time the custom metric was last modified.
          "webPropertyId": "A String", # Property ID.
          "active": True or False, # Boolean indicating whether the custom metric is active.
          "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
          "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
            "href": "A String", # Link to the property to which the custom metric belongs.
            "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
          },
          "type": "A String", # Data type of custom metric.
          "id": "A String", # Custom metric ID.
          "selfLink": "A String", # Link for the custom metric
          "accountId": "A String", # Account ID.
        }

`insert(accountId, webPropertyId, body)`

    Create a new custom metric.

    Args:
      accountId: string, Account ID for the custom metric to create. (required)
      webPropertyId: string, Web property ID for the custom dimension to create. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # JSON template for Analytics Custom Metric.
        "index": 42, # Index of the custom metric.
        "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
        "name": "A String", # Name of the custom metric.
        "created": "A String", # Time the custom metric was created.
        "max_value": "A String", # Max value of custom metric.
        "min_value": "A String", # Min value of custom metric.
        "updated": "A String", # Time the custom metric was last modified.
        "webPropertyId": "A String", # Property ID.
        "active": True or False, # Boolean indicating whether the custom metric is active.
        "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
        "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
          "href": "A String", # Link to the property to which the custom metric belongs.
          "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
        },
        "type": "A String", # Data type of custom metric.
        "id": "A String", # Custom metric ID.
        "selfLink": "A String", # Link for the custom metric
        "accountId": "A String", # Account ID.
      }

    Returns:
      An object of the form:

        { # JSON template for Analytics Custom Metric.
          "index": 42, # Index of the custom metric.
          "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
          "name": "A String", # Name of the custom metric.
          "created": "A String", # Time the custom metric was created.
          "max_value": "A String", # Max value of custom metric.
          "min_value": "A String", # Min value of custom metric.
          "updated": "A String", # Time the custom metric was last modified.
          "webPropertyId": "A String", # Property ID.
          "active": True or False, # Boolean indicating whether the custom metric is active.
          "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
          "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
            "href": "A String", # Link to the property to which the custom metric belongs.
            "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
          },
          "type": "A String", # Data type of custom metric.
          "id": "A String", # Custom metric ID.
          "selfLink": "A String", # Link for the custom metric
          "accountId": "A String", # Account ID.
        }

`list(accountId, webPropertyId, max_results=None, start_index=None)`

    Lists custom metrics to which the user has access.

    Args:
      accountId: string, Account ID for the custom metrics to retrieve. (required)
      webPropertyId: string, Web property ID for the custom metrics to retrieve. (required)
      max_results: integer, The maximum number of custom metrics to include in this response.
      start_index: integer, An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.

    Returns:
      An object of the form:

        { # A custom metric collection lists Analytics custom metrics to which the user has access. Each resource in the collection corresponds to a single Analytics custom metric.
        "username": "A String", # Email ID of the authenticated user
        "kind": "analytics#customMetrics", # Collection type.
        "items": [ # Collection of custom metrics.
          { # JSON template for Analytics Custom Metric.
              "index": 42, # Index of the custom metric.
              "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
              "name": "A String", # Name of the custom metric.
              "created": "A String", # Time the custom metric was created.
              "max_value": "A String", # Max value of custom metric.
              "min_value": "A String", # Min value of custom metric.
              "updated": "A String", # Time the custom metric was last modified.
              "webPropertyId": "A String", # Property ID.
              "active": True or False, # Boolean indicating whether the custom metric is active.
              "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
              "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
                "href": "A String", # Link to the property to which the custom metric belongs.
                "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
              },
              "type": "A String", # Data type of custom metric.
              "id": "A String", # Custom metric ID.
              "selfLink": "A String", # Link for the custom metric
              "accountId": "A String", # Account ID.
            },
        ],
        "itemsPerPage": 42, # The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.
        "previousLink": "A String", # Link to previous page for this custom metric collection.
        "startIndex": 42, # The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.
        "nextLink": "A String", # Link to next page for this custom metric collection.
        "totalResults": 42, # The total number of results for the query, regardless of the number of results in the response.
      }

`patch(accountId, webPropertyId, customMetricId, body, ignoreCustomDataSourceLinks=None)`

    Updates an existing custom metric. This method supports patch semantics.

    Args:
      accountId: string, Account ID for the custom metric to update. (required)
      webPropertyId: string, Web property ID for the custom metric to update. (required)
      customMetricId: string, Custom metric ID for the custom metric to update. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # JSON template for Analytics Custom Metric.
        "index": 42, # Index of the custom metric.
        "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
        "name": "A String", # Name of the custom metric.
        "created": "A String", # Time the custom metric was created.
        "max_value": "A String", # Max value of custom metric.
        "min_value": "A String", # Min value of custom metric.
        "updated": "A String", # Time the custom metric was last modified.
        "webPropertyId": "A String", # Property ID.
        "active": True or False, # Boolean indicating whether the custom metric is active.
        "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
        "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
          "href": "A String", # Link to the property to which the custom metric belongs.
          "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
        },
        "type": "A String", # Data type of custom metric.
        "id": "A String", # Custom metric ID.
        "selfLink": "A String", # Link for the custom metric
        "accountId": "A String", # Account ID.
      }

      ignoreCustomDataSourceLinks: boolean, Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.

    Returns:
      An object of the form:

        { # JSON template for Analytics Custom Metric.
          "index": 42, # Index of the custom metric.
          "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
          "name": "A String", # Name of the custom metric.
          "created": "A String", # Time the custom metric was created.
          "max_value": "A String", # Max value of custom metric.
          "min_value": "A String", # Min value of custom metric.
          "updated": "A String", # Time the custom metric was last modified.
          "webPropertyId": "A String", # Property ID.
          "active": True or False, # Boolean indicating whether the custom metric is active.
          "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
          "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
            "href": "A String", # Link to the property to which the custom metric belongs.
            "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
          },
          "type": "A String", # Data type of custom metric.
          "id": "A String", # Custom metric ID.
          "selfLink": "A String", # Link for the custom metric
          "accountId": "A String", # Account ID.
        }

`update(accountId, webPropertyId, customMetricId, body, ignoreCustomDataSourceLinks=None)`

    Updates an existing custom metric.

    Args:
      accountId: string, Account ID for the custom metric to update. (required)
      webPropertyId: string, Web property ID for the custom metric to update. (required)
      customMetricId: string, Custom metric ID for the custom metric to update. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # JSON template for Analytics Custom Metric.
        "index": 42, # Index of the custom metric.
        "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
        "name": "A String", # Name of the custom metric.
        "created": "A String", # Time the custom metric was created.
        "max_value": "A String", # Max value of custom metric.
        "min_value": "A String", # Min value of custom metric.
        "updated": "A String", # Time the custom metric was last modified.
        "webPropertyId": "A String", # Property ID.
        "active": True or False, # Boolean indicating whether the custom metric is active.
        "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
        "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
          "href": "A String", # Link to the property to which the custom metric belongs.
          "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
        },
        "type": "A String", # Data type of custom metric.
        "id": "A String", # Custom metric ID.
        "selfLink": "A String", # Link for the custom metric
        "accountId": "A String", # Account ID.
      }

      ignoreCustomDataSourceLinks: boolean, Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.

    Returns:
      An object of the form:

        { # JSON template for Analytics Custom Metric.
          "index": 42, # Index of the custom metric.
          "kind": "analytics#customMetric", # Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field.
          "name": "A String", # Name of the custom metric.
          "created": "A String", # Time the custom metric was created.
          "max_value": "A String", # Max value of custom metric.
          "min_value": "A String", # Min value of custom metric.
          "updated": "A String", # Time the custom metric was last modified.
          "webPropertyId": "A String", # Property ID.
          "active": True or False, # Boolean indicating whether the custom metric is active.
          "scope": "A String", # Scope of the custom metric: HIT or PRODUCT.
          "parentLink": { # Parent link for the custom metric. Points to the property to which the custom metric belongs.
            "href": "A String", # Link to the property to which the custom metric belongs.
            "type": "analytics#webproperty", # Type of the parent link. Set to "analytics#webproperty".
          },
          "type": "A String", # Data type of custom metric.
          "id": "A String", # Custom metric ID.
          "selfLink": "A String", # Link for the custom metric
          "accountId": "A String", # Account ID.
        }