# REST Resource: properties.channelGroups

- [Resource: ChannelGroup](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroup)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroup.SCHEMA_REPRESENTATION)
- [GroupingRule](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#GroupingRule)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#GroupingRule.SCHEMA_REPRESENTATION)
- [ChannelGroupFilterExpression](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpression)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpression.SCHEMA_REPRESENTATION)
- [ChannelGroupFilterExpressionList](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpressionList)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpressionList.SCHEMA_REPRESENTATION)
- [ChannelGroupFilter](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilter)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilter.SCHEMA_REPRESENTATION)
- [StringFilter](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#StringFilter)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#StringFilter.SCHEMA_REPRESENTATION)
- [MatchType](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#MatchType)
- [InListFilter](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#InListFilter)
  - [JSON representation](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#InListFilter.SCHEMA_REPRESENTATION)
- [Methods](https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#METHODS_SUMMARY)

## Resource: ChannelGroup

A resource message representing a Channel Group.

| JSON representation |
|---|
| ``` { "name": string, "displayName": string, "description": string, "groupingRule": [ { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#GroupingRule`) } ], "systemDefined": boolean, "primary": boolean } ``` |

| Fields ||
|---|---|
| `name` | `string` Output only. The resource name for this Channel Group resource. Format: properties/{property}/channelGroups/{channelGroup} |
| `displayName` | `string` Required. The display name of the Channel Group. Max length of 80 characters. |
| `description` | `string` The description of the Channel Group. Max length of 256 characters. |
| `groupingRule[]` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#GroupingRule`)`` Required. The grouping rules of channels. Maximum number of rules is 50. |
| `systemDefined` | `boolean` Output only. If true, then this channel group is the Default Channel Group predefined by Google Analytics. Display name and grouping rules cannot be updated for this channel group. |
| `primary` | `boolean` Optional. If true, this channel group will be used as the default channel group for reports. Only one channel group can be set as `primary` at any time. If the `primary` field gets set on a channel group, it will get unset on the previous primary channel group. The Google Analytics predefined channel group is the primary by default. |

## GroupingRule

The rules that govern how traffic is grouped into one channel.

| JSON representation |
|---|
| ``` { "displayName": string, "expression": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpression`) } } ``` |

| Fields ||
|---|---|
| `displayName` | `string` Required. Customer defined display name for the channel. |
| `expression` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpression`)`` Required. The Filter Expression that defines the Grouping Rule. |

## ChannelGroupFilterExpression

A logical expression of Channel Group dimension filters.

| JSON representation |
|---|
| ``` { // Union field `expr` can be only one of the following: "andGroup": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpressionList`) }, "orGroup": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpressionList`) }, "notExpression": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpression`) }, "filter": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilter`) } // End of list of possible types for union field `expr`. } ``` |

| Fields ||
|---|---|
| Union field `expr`. The expression applied to a filter. `expr` can be only one of the following: ||
| `andGroup` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpressionList`)`` A list of expressions to be AND'ed together. It can only contain ChannelGroupFilterExpressions with orGroup. This must be set for the top level ChannelGroupFilterExpression. |
| `orGroup` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpressionList`)`` A list of expressions to OR'ed together. It cannot contain ChannelGroupFilterExpressions with andGroup or orGroup. |
| `notExpression` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpression`)`` A filter expression to be NOT'ed (that is inverted, complemented). It can only include a dimensionOrMetricFilter. This cannot be set on the top level ChannelGroupFilterExpression. |
| `filter` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilter`)`` A filter on a single dimension. This cannot be set on the top level ChannelGroupFilterExpression. |

## ChannelGroupFilterExpressionList

A list of Channel Group filter expressions.

| JSON representation |
|---|
| ``` { "filterExpressions": [ { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpression`) } ] } ``` |

| Fields ||
|---|---|
| `filterExpressions[]` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#ChannelGroupFilterExpression`)`` A list of Channel Group filter expressions. |

## ChannelGroupFilter

A specific filter for a single dimension.

| JSON representation |
|---|
| ``` { "fieldName": string, // Union field `value_filter` can be only one of the following: "stringFilter": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#StringFilter`) }, "inListFilter": { object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#InListFilter`) } // End of list of possible types for union field `value_filter`. } ``` |

| Fields ||
|---|---|
| `fieldName` | `string` Required. Immutable. The dimension name to filter. |
| Union field `value_filter`. A StringFilter or InListFilter that defines this filters behavior. `value_filter` can be only one of the following: ||
| `stringFilter` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#StringFilter`)`` A filter for a string-type dimension that matches a particular pattern. |
| `inListFilter` | ``object (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#InListFilter`)`` A filter for a string dimension that matches a particular list of options. |

## StringFilter

Filter where the field value is a String. The match is case insensitive.

| JSON representation |
|---|
| ``` { "matchType": enum (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#MatchType`), "value": string } ``` |

| Fields ||
|---|---|
| `matchType` | ``enum (`https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups#MatchType`)`` Required. The match type for the string filter. |
| `value` | `string` Required. The string value to be matched against. |

## MatchType

How the filter will be used to determine a match.

| Enums ||
|---|---|
| `MATCH_TYPE_UNSPECIFIED` | Default match type. |
| `EXACT` | Exact match of the string value. |
| `BEGINS_WITH` | Begins with the string value. |
| `ENDS_WITH` | Ends with the string value. |
| `CONTAINS` | Contains the string value. |
| `FULL_REGEXP` | Full regular expression match with the string value. |
| `PARTIAL_REGEXP` | Partial regular expression match with the string value. |

## InListFilter

A filter for a string dimension that matches a particular list of options. The match is case insensitive.

| JSON representation |
|---|
| ``` { "values": [ string ] } ``` |

| Fields ||
|---|---|
| `values[]` | `string` Required. The list of possible string values to match against. Must be non-empty. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups/create` | Creates a ChannelGroup. |
| ### `https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups/delete` | Deletes a ChannelGroup on a property. |
| ### `https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups/get` | Lookup for a single ChannelGroup. |
| ### `https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups/list` | Lists ChannelGroups on a property. |
| ### `https://developers.google.com/analytics/devguides/config/admin/v1/rest/v1alpha/properties.channelGroups/patch` | Updates a ChannelGroup. |