DynamicFeed

Contains dynamic feed information.

JSON representation
{
  "dynamicFeedId": string,
  "studioAdvertiserId": string,
  "dynamicFeedName": string,
  "contentSource": {
    object (ContentSource)
  },
  "element": {
    object (Element)
  },
  "hasPublished": boolean,
  "status": enum (Status),
  "feedSchedule": {
    object (FeedSchedule)
  },
  "feedIngestionStatus": {
    object (FeedIngestionStatus)
  },
  "createInfo": {
    object (LastModifiedInfo)
  },
  "lastModifiedInfo": {
    object (LastModifiedInfo)
  }
}
Fields
dynamicFeedId

string (int64 format)

Output only. Unique ID of this dynamic feed. This is a read-only, auto-generated field.

studioAdvertiserId

string (int64 format)

Required. Advertiser ID of this dynamic feed. This is a required field.

dynamicFeedName

string

Optional. Name of this dynamic feed. It is defaulted to content source file name if not provided.

contentSource

object (ContentSource)

Required. The content source of the dynamic feed. This is a required field.

element

object (Element)

Required. The element of the dynamic feed that is to specify the schema of the feed. This is a required field.

hasPublished

boolean

Output only. Indicates whether the dynamic feed has a published version. This is a read-only field.

status

enum (Status)

Output only. The status of the feed. It is a read-only field that depends on the feed ingestion status. The default value is INACTIVE, and it will be updated to ACTIVE once the feed is ingested successfully.

feedSchedule

object (FeedSchedule)

Optional. The schedule of the dynamic feed. It can be set if the feed is published.

feedIngestionStatus

object (FeedIngestionStatus)

Output only. The ingestion status of the dynamic feed. This is a read-only field.

createInfo

object (LastModifiedInfo)

Output only. The creation timestamp of the dynamic feed. This is a read-only field.

lastModifiedInfo

object (LastModifiedInfo)

Output only. The last modified timestamp of the dynamic feed. This is a read-only field.

ContentSource

Contains the content source of the dynamic feed.

JSON representation
{
  "contentSourceName": string,
  "resourceLink": string,
  "resourceType": enum (ContentSourceResourceType),
  "metaData": {
    object (ContentSourceMetaData)
  },
  "createInfo": {
    object (LastModifiedInfo)
  },
  "lastModifiedInfo": {
    object (LastModifiedInfo)
  }
}
Fields
contentSourceName

string

Optional. The name of the content source. It is defaulted to content source file name if not provided.

resourceType

enum (ContentSourceResourceType)

Required. The resource type of the content source.

metaData

object (ContentSourceMetaData)

Output only. Metadata of the content source. It contains the number of rows and the column names from resource link. This is a read-only field.

createInfo

object (LastModifiedInfo)

Output only. The creation timestamp of the content source. This is a read-only field.

lastModifiedInfo

object (LastModifiedInfo)

Output only. The last modified timestamp of the content source. This is a read-only field.

ContentSourceResourceType

The resource type of the content source.

Enums
RESOURCE_TYPE_UNSPECIFIED The resource type is unspecified.
RESOURCE_TYPE_GOOGLE_SPREADSHEET The resource type is google spreadsheet.
RESOURCE_TYPE_REMOTE_FILE The resource type is remote file.

ContentSourceMetaData

Contains the meta data of the content source. This is a read-only field.

JSON representation
{
  "charset": string,
  "separator": string,
  "fieldNames": [
    string
  ],
  "rowNumber": integer
}
Fields
charset

string

Output only. The charset of the content source.

separator

string

Output only. The separator of the content source.

fieldNames[]

string

Output only. The list of column names in the content source.

rowNumber

integer

Output only. The number of rows in the content source.

Element

Contains the element of the dynamic feed.

JSON representation
{
  "elementName": string,
  "feedFields": [
    {
      object (FeedField)
    }
  ],
  "externalIdFieldId": integer,
  "reportingLabelFieldId": integer,
  "defaultFieldId": integer,
  "startTimestampFieldId": integer,
  "endTimestampFieldId": integer,
  "isLocalTimestamp": boolean,
  "proximityTargetingFieldId": integer,
  "activeFieldId": integer,
  "createInfo": {
    object (LastModifiedInfo)
  },
  "lastModifiedInfo": {
    object (LastModifiedInfo)
  }
}
Fields
elementName

string

Optional. The name of the element. It is defaulted to resource file name if not provided.

feedFields[]

object (FeedField)

Required. The list of fields of the element. The field order and name should match the meta data in the content source source.

externalIdFieldId

integer

Required. The field ID to specify the field used for uniquely identifying the feed row. This is a required field.

reportingLabelFieldId

integer

Required. The field ID to specify the field used for dynamic reporting in Campaign Manager 360.

defaultFieldId

integer

Optional. The field ID to specify the field that represents the default field in the feed.

startTimestampFieldId

integer

Optional. The field ID to specify the field that represents the start timestamp. Only applicable if you're planning to use scheduling in your dynamic creative.

endTimestampFieldId

integer

Optional. The field ID to specify the field that represents the end timestamp. Only applicable if you're planning to use scheduling in your dynamic creative.

isLocalTimestamp

boolean

Optional. Whether the start and end timestamp is local timestamp. The default value is false which means start and end timestamp is in UTC.

proximityTargetingFieldId

integer

Optional. The field ID that specify field used for proximity targeting.

activeFieldId

integer

Optional. The field ID to specify the active field in the feed.

createInfo

object (LastModifiedInfo)

Output only. The creation timestamp of the element. This is a read-only field.

lastModifiedInfo

object (LastModifiedInfo)

Output only. The last modified timestamp of the element. This is a read-only field.

FeedField

Each field of the element. This is a required field.

JSON representation
{
  "id": integer,
  "name": string,
  "type": enum (Type),
  "defaultValue": string,
  "filterable": boolean,
  "required": boolean,
  "renderable": boolean
}
Fields
id

integer

Required. The ID of the field. The ID is based on the column index starting from 0, and it should match the column index in the resource link.

name

string

Required. The name of the field.

type

enum (Type)

Required. The type of the field.

defaultValue

string

Optional. The default value of the field.

filterable

boolean

Optional. Whether the field is filterable.

Could be set as true when the field type is any of the following and is not renderable:

  • STRING

  • BOOL

  • COUNTRY_CODE_ISO

  • CM360_SITE_ID

  • CM360_KEYWORD

  • CM360_CREATIVE_ID

  • CM360_PLACEMENT_ID

  • CM360_AD_ID

  • CM360_ADVERTISER_ID

  • CM360_CAMPAIGN_ID

  • CITY

  • REGION

  • POSTAL_CODE

  • METRO

  • CUSTOM_VALUE

  • REMARKETING_VALUE

  • GEO_CANONICAL

  • STRING_LIST

  • CREATIVE_DIMENSION

  • USERLIST_ID

  • CM360_DYNAMIC_TARGETING_KEY

  • DV360_LINE_ITEM_ID

required

boolean

Optional. Whether the field is required and should not be empty in the feed.

Could be set as true when the field type is any of the following:

  • GPA_SERVED_IMAGE_URL

  • GPA_SERVED_ASSET_URL

  • ASSET_LIBRARY_HANDLE

  • ASSET_LIBRARY_VIDEO_HANDLE

  • ASSET_LIBRARY_DIRECTORY_HANDLE

renderable

boolean

Optional. Whether the field is able to display.

Could be set as true when the field type is not in any of the following and the field is not filterable:

  • COUNTRY_CODE_ISO

  • CITY

  • REGION

  • POSTAL_CODE

  • METRO

  • GEO_CANONICAL

  • USERLIST_ID

  • CONTEXTUAL_KEYWORD

  • CM360_DYNAMIC_TARGETING_KEY

  • WEIGHT

Type

Enums
TYPE_UNKNOWN The type is unspecified. This is an unused value.
STRING The field type is text.
LONG The field type is whole number.
GPA_SERVED_IMAGE_URL The field type is image url
GPA_SERVED_ASSET_URL The field type is asset url.
COUNTRY_CODE_ISO The field type is the ISO 3166-2 alpha-2 codes. It is two-letter country codes defined in ISO 3166-1 published by the International Organization for Standardization.
FLOAT The field type is decimal.
CM360_KEYWORD The field type is custom CM360 ad tag parameter.
CM360_SITE_ID The field type is CM360 site ID.
BOOL The field type is boolean.
EXIT_URL The field type is exit url.
DATETIME The field type is datetime.
CM360_CREATIVE_ID The field type is CM360 creative ID.
CM360_PLACEMENT_ID The field type is CM360 placement ID.
CM360_AD_ID The field type is CM360 ad ID.
CM360_ADVERTISER_ID The field type is CM360 advertiser ID.
CM360_CAMPAIGN_ID The field type is CM360 campaign ID.
CITY The field type is cities.
REGION The field type is region.
POSTAL_CODE The field type is postal code.
METRO The field type is metro code.
CUSTOM_VALUE The field type is custom value.
REMARKETING_VALUE The field type is remarketing value.
GEO_CANONICAL The field type is accurate geographic type.
WEIGHT The field type is weight.
STRING_LIST The field type is a list of values.
CREATIVE_DIMENSION The field type is creative dimension.
USERLIST_ID The field type is CM/DV360 Audience ID.
ASSET_LIBRARY_DIRECTORY_HANDLE The field type is AssetLibrary directory path.
ASSET_LIBRARY_VIDEO_HANDLE The field type is AssetLibrary video file path.
ASSET_LIBRARY_HANDLE The field type is AssetLibrary path.
THIRD_PARTY_SERVED_URL The field type is third party served url.
CM360_DYNAMIC_TARGETING_KEY The field type is CM dynamic targeting key.
DV360_LINE_ITEM_ID The field type is DV360 line item ID.

Status

The status of the feed.

Enums
STATUS_UNKNOWN The status is unknown.
ACTIVE The feedstatus is active.
INACTIVE The feed status is inactive.
DELETED The feed status is deleted.

FeedSchedule

Contains the schedule of the dynamic feed.

JSON representation
{
  "scheduleEnabled": boolean,
  "repeatValue": string,
  "startHour": string,
  "startMinute": string,
  "timeZone": string
}
Fields
scheduleEnabled

boolean

Optional. Whether the schedule is enabled.

repeatValue

string (int64 format)

Optional. The number of times the feed retransforms within one day. This is a required field if the schedule is enabled. Acceptable values are between

1

to

6

, inclusive.

startHour

string

Optional. The hour of the day to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0.

startMinute

string

Optional. The minute of the hour to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0.

timeZone

string

Optional. The time zone to schedule the feed. It is applicable if the repeat value is equal to 1. Default value is "America/Los_Angeles".

FeedIngestionStatus

Contains the ingestion status of the dynamic feed. Feed ingestion is an asynchronous process. If the feed create request is successful, feed ingestion will be processed in the background, including validation, assets retrieval, and saving the data from the resource link. The processing time is dependent on the data size in the resource link. This read-only status field contains the current stage of that processing and its ingestion state.

JSON representation
{
  "state": enum (FeedProcessingState),
  "ingestionStatus": {
    object (IngestionStatus)
  },
  "ingestionErrorRecords": [
    {
      object (IngestionErrorRecord)
    }
  ]
}
Fields
state

enum (FeedProcessingState)

Output only. The processing state of the feed.

ingestionStatus

object (IngestionStatus)

Output only. The ingestion status of the feed.

ingestionErrorRecords[]

object (IngestionErrorRecord)

Output only. The ingestion error records of the feed.

FeedProcessingState

Enums
FEED_PROCESSING_STATE_UNKNOWN The feed processing state is unknown.
CANCELLED The feed processing state is cancelled.
INGESTING_QUEUED The feed processing state is ingesting queued.
INGESTING The feed processing state is ingesting.
INGESTED_SUCCESS The feed processing state is ingested successfully.
INGESTED_FAILURE The feed processing state is ingested with failure.
REQUEST_TO_PUBLISH The feed processing state is request to publish.
PUBLISHING The feed processing state is publishing.
PUBLISHED_SUCCESS The feed processing state is published successfully.
PUBLISHED_FAILURE The feed processing state is published with failure.

IngestionStatus

Contains the ingestion status of the dynamic feed.

JSON representation
{
  "numRowsProcessed": string,
  "numRowsTotal": string,
  "numRowsWithErrors": string,
  "numWarningsTotal": string,
  "numActiveRows": string
}
Fields
numRowsProcessed

string (int64 format)

Output only. The number of rows processed in the feed.

numRowsTotal

string (int64 format)

Output only. The total number of rows in the feed.

numRowsWithErrors

string (int64 format)

Output only. The number of rows with errors in the feed.

numWarningsTotal

string (int64 format)

Output only. The total number of warnings in the feed.

numActiveRows

string (int64 format)

Output only. The number of active rows in the feed.

IngestionErrorRecord

Contains the ingestion error record of the dynamic feed. limited to 100 records.

JSON representation
{
  "recordId": string,
  "errors": [
    {
      object (FieldError)
    }
  ]
}
Fields
recordId

string

Output only. The record ID of the ingestion error record.

errors[]

object (FieldError)

Output only. The list of field errors of the ingestion error record.

FieldError

Contains the field error of the dynamic feed.

JSON representation
{
  "fieldId": integer,
  "fieldName": string,
  "fieldValues": [
    string
  ],
  "ingestionError": enum (IngestionError),
  "isError": boolean
}
Fields
fieldId

integer

Output only. The ID of the field.

fieldName

string

Output only. The name of the field.

fieldValues[]

string

Output only. The list of values of the field.

ingestionError

enum (IngestionError)

Output only. The ingestion error of the field.

isError

boolean

Output only. Incidcates whether the field has error or warning.

IngestionError

The ingestion error of the field.

Enums
UNKNOWN_PARSING_ERROR The ingestion error is unknown.
MISSING_ID The ingestion error when the ID value is missing.
MISSING_REPORTING_LABEL The ingestion error when the element value name used for reporting is missing.
EMPTY_VALUE The ingestion error when a required value is empty
ASSET_DOWNLOAD_ERROR The ingestion error when asset retrieval fails for a particular image or asset.
ID_TOO_LONG The ingestion error when the ID value exceeds the string length limit.
DUPLICATE_ID The ingestion error when the ID value is duplicate.
PARSING_ERROR The ingestion error when parsing the field fails.
COUNTRY_PARSING_ERROR The ingestion error when parsing the country code fails.
LONG_PARSING_ERROR The ingestion error when parsing the long value fails.
BOOL_PARSING_ERROR The ingestion error when parsing the boolean value fails.
EXPANDED_URL_PARSING_ERROR The ingestion error when parsing the expanded url fails.
FLOAT_PARSING_ERROR The ingestion error when parsing the float value fails.
DATETIME_PARSING_ERROR The ingestion error when parsing the datetime value fails.
INVALID_PREFERENCE_VALUE The ingestion error when the preference value is not a positive float.
GEO_NOT_FOUND_ERROR The ingestion error when a geo location is not found.
GEO_PARSING_ERROR The ingestion error when parsing the geo field fails.
GEO_PROXIMITY_TARGETING_MULTIPLE_LOCATION_ERROR The ingestion error when a feed row has multiple geotargets with proximity targeting enabled.
POSTAL_CODE_PARSING_ERROR The ingestion error when parsing the postal code value fails.
METRO_CODE_PARSING_ERROR The ingestion error when parsing the metro code value fails.
DATETIME_WITHOUT_TIMEZONE_PARSING_ERROR The ingestion error when parsing the datetime value fails.
WEIGHT_PARSING_ERROR The ingestion error when parsing the weight value fails.
CREATIVE_DIMENSION_PARSING_ERROR The ingestion error when parsing the creative dimension value fails.
MULTIVALUE_ID The ingestion error when a STRING_LIST type ID has multiple values.
ENDTIME_BEFORE_STARTTIME The ingestion error when the end time is before the start time.
INVALID_ASSET_LIBRARY_HANDLE The ingestion error when the asset library handle is invalid.
INVALID_ASSET_LIBRARY_VIDEO_HANDLE The ingestion error when the asset library video handle is invalid.
INVALID_ASSET_LIBRARY_DIRECTORY_HANDLE The ingestion error when the asset library directory handle is invalid.
DYNAMIC_TARGETING_KEY_NOT_DEFINED_FOR_ADVERTISER The ingestion error when a targeting key used but not defined for the CM360 Advertiser.
USERLIST_ID_NOT_ACCESSIBLE_FOR_ADVERTISER The ingestion error when the userlist ID is not accessible for the CM360 Advertiser.
ENDTIME_PASSED The ingestion error when the end time is passed.
ENDTIME_TOO_SOON The ingestion error when the end time is in the near future (i.e., <7 days).
TEXT_ASSET_REFERENCE The ingestion error when a text field specifies a reference to an asset.
IMAGE_ASSET_SCS_REFERENCE The ingestion error when Image field specifies a reference to an asset hosted on SCS (s0.2mdn.net/s0qa.2mdn.net).
AIRPORT_GEO_TARGET The ingestion error when a geo target is an airport.
CANONICAL_NAME_QUERY_MISMATCH The ingestion error when the geo target's canonical name does not match the query string used to obtain it.
NO_DEFAULT_ROW The ingestion error or warning when the default row is not set.
NO_ACTIVE_DEFAULT_ROW The ingestion error or warning when the default row is not active.
NO_DEFAULT_ROW_IN_DATE_RANGE The ingestion error or warning when the default row is not in the date range.
NO_ACTIVE_DEFAULT_ROW_IN_DATE_RANGE The ingestion error or warning when the default row is not in the date range.
PAYLOAD_LIMIT_EXCEEDED The ingestion error when when the payload of the record is above a threshold.
SSL_NOT_COMPLIANT The ingestion error or warning when the field is not SSL compliant.