AI-generated Key Takeaways
- 
          CustomTargetingError.Reason lists the possible reasons for errors related to custom targeting in the Ad Manager API. 
- 
          Errors can occur due to issues with custom targeting keys, such as not being found, exceeding limits, duplicates, invalid names or lengths, reserved names, or being inactive. 
- 
          Errors can also relate to custom targeting values, including not being found, exceeding limits for a key, duplicates, invalid names or lengths, invalid match types, or being inactive. 
- 
          Additional error reasons include invalid targeting expressions, using deleted keys or values, issues with video browse-by keys, and problems with targeting audience segments or mapped metadata. 
- 
          Some errors are specific to Ad Manager 360 networks or require the targeted audience segments to be approved. 
The reasons for the target error.
- Namespace
- 
               https://www.google.com/apis/ads/publisher/v202508
| Enumeration | Description | 
|---|---|
| KEY_NOT_FOUND | Requested CustomTargetingKey is not found. | 
| KEY_COUNT_TOO_LARGE | Number of CustomTargetingKey objects created exceeds the limit allowed for the network. | 
| KEY_NAME_DUPLICATE | CustomTargetingKey with the same CustomTargetingKey.name already exists. | 
| KEY_NAME_EMPTY | CustomTargetingKey.name is empty. | 
| KEY_NAME_INVALID_LENGTH | CustomTargetingKey.name is too long. | 
| KEY_NAME_INVALID_CHARS | CustomTargetingKey.name contains unsupported or reserved characters. | 
| KEY_NAME_RESERVED | CustomTargetingKey.name matches one of the reserved custom targeting key names. | 
| KEY_DISPLAY_NAME_INVALID_LENGTH | CustomTargetingKey.displayName is too long. | 
| KEY_STATUS_NOT_ACTIVE | Key is not active. | 
| VALUE_NOT_FOUND | Requested CustomTargetingValue is not found. | 
| GET_VALUES_BY_STATEMENT_MUST_CONTAIN_KEY_ID | The WHEREclause in the Statement.query must always
                contain CustomTargetingValue.customTargetingKeyId as one of its
                columns in a way that it is AND'ed with the rest of the query. | 
| VALUE_COUNT_FOR_KEY_TOO_LARGE | The number of CustomTargetingValue objects associated with a
                CustomTargetingKey exceeds the network limit. This is only
                applicable for keys of type CustomTargetingKey.Type#PREDEFINED. | 
| VALUE_NAME_DUPLICATE | CustomTargetingValue with the same CustomTargetingValue.name already exists. | 
| VALUE_NAME_EMPTY | CustomTargetingValue.name is empty. | 
| VALUE_NAME_INVALID_LENGTH | CustomTargetingValue.name is too long. | 
| VALUE_NAME_INVALID_CHARS | CustomTargetingValue.name contains unsupported or reserved characters. | 
| VALUE_DISPLAY_NAME_INVALID_LENGTH | CustomTargetingValue.displayName is too long. | 
| VALUE_MATCH_TYPE_NOT_ALLOWED | Only Ad Manager 360 networks can have CustomTargetingValue.matchType other than CustomTargetingValue.MatchType.EXACT. | 
| VALUE_MATCH_TYPE_NOT_EXACT_FOR_PREDEFINED_KEY | You can only create CustomTargetingValue objects with match type CustomTargetingValue.MatchType.EXACT when associating with CustomTargetingKey objects of type CustomTargetingKey.Type.PREDEFINED | 
| SUFFIX_MATCH_TYPE_NOT_ALLOWED | CustomTargetingValue object cannot have match type of CustomTargetingValue.MatchType.SUFFIX when adding a CustomTargetingValue to a line item. | 
| CONTAINS_MATCH_TYPE_NOT_ALLOWED | CustomTargetingValue object cannot have match type of CustomTargetingValue.MatchType.CONTAINS when adding a CustomTargetingValue to targeting expression of a line item. | 
| VALUE_STATUS_NOT_ACTIVE | Value is not active. | 
| KEY_WITH_MISSING_VALUES | The CustomTargetingKey does not have any CustomTargetingValue associated with it. | 
| INVALID_VALUE_FOR_KEY | The CustomTargetingKey has a CustomTargetingValue specified for which the value is not a valid child. | 
| CANNOT_OR_DIFFERENT_KEYS | CustomCriteriaSet.LogicalOperator.OR operation cannot be applied to values with different keys. | 
| INVALID_TARGETING_EXPRESSION | Targeting expression is invalid. This can happen if the sequence of operators is wrong, or a node contains invalid number of children. | 
| DELETED_KEY_CANNOT_BE_USED_FOR_TARGETING | The key has been deleted. CustomCriteria cannot have deleted keys. | 
| DELETED_VALUE_CANNOT_BE_USED_FOR_TARGETING | The value has been deleted. CustomCriteria cannot have deleted values. | 
| VIDEO_BROWSE_BY_KEY_CANNOT_BE_USED_FOR_CUSTOM_TARGETING | The key is set as the video browse-by key, which cannot be used for custom targeting. | 
| CANNOT_DELETE_CUSTOM_KEY_USED_IN_PARTNER_ASSIGNMENT_TARGETING | Cannot delete a custom criteria key that is targeted by an active partner assignment. | 
| CANNOT_DELETE_CUSTOM_VALUE_USED_IN_PARTNER_ASSIGNMENT_TARGETING | Cannot delete a custom criteria value that is targeted by an active partner assignment. | 
| CANNOT_TARGET_AUDIENCE_SEGMENT | AudienceSegment object cannot be targeted. | 
| CANNOT_TARGET_THIRD_PARTY_AUDIENCE_SEGMENT | Third party AudienceSegment cannot be targeted. | 
| CANNOT_TARGET_INACTIVE_AUDIENCE_SEGMENT | Inactive AudienceSegment object cannot be targeted. | 
| INVALID_AUDIENCE_SEGMENTS | Targeted AudienceSegment object is not valid. | 
| CANNOT_TARGET_MAPPED_METADATA | Mapped metadata key-values are deprecated and cannot be targeted. | 
| ONLY_APPROVED_AUDIENCE_SEGMENTS_CAN_BE_TARGETED | Targeted AudienceSegment objects have not been approved. | 
| UNKNOWN | The value returned if the actual value is not exposed by the requested API version. |