The <ResourceList>
contains the details about the primary resources (sound recordings or videos) and secondary resources (associated artwork) that make up the delivery. On a 10-track Audio Album for example, resource references A1 through A10 are the sound recordings and A11 is the album artwork. YouTube uses the album artwork as a key visual element in the generated Art Tracks for recordings from this album. Single Resource Release feeds should not contain any artwork, in accordance with the DDEX profile.
<ResourceList>
. If the message includes multiple versions of the metadata for a track, YouTube uses only the version that appears first in the message.YouTube's proprietary elements
Expand the section below for a quick look at YouTube's proprietary elements. Use the corresponding sections throughout this page for more detailed info and examples.
YouTube's proprietary elements
The following elements are part of the YouTube proprietary namespace:
Sound recordings
<SoundRecordingId>
[...]
<!--- Sets the custom ID on the Sound Recording asset -->
<ProprietaryId
Namespace="YOUTUBE:SR_CUSTOM_ID">sound_recording_id_1234</ProprietaryId>
<!--- Identifies the Sound Recording asset to be updated by Asset ID -->
<ProprietaryId
Namespace="YOUTUBE:SR_ASSET_ID">A222222222222222</ProprietaryId>
<!--- Adds an asset label to the Sound Recording asset -->
<ProprietaryId
Namespace="YOUTUBE:SR_ASSET_LABEL">sr_asset_label</ProprietaryId>
[...]
</SoundRecordingId>
Art tracks
<SoundRecordingId>
[...]
<!--- Sets the custom ID on the Art Track asset -->
<ProprietaryId
Namespace="YOUTUBE:AT_CUSTOM_ID">art_track_id_1234</ProprietaryId>
<!--- Adds one asset label to the Art Track asset (use
YOUTUBE:CLEAR_AT_ASSET_LABELS to remove all asset labels) -->
<ProprietaryId
Namespace="YOUTUBE:AT_ASSET_LABEL">at_asset_label</ProprietaryId>
[...]
</SoundRecordingId>
Music videos
<VideoId>
[...]
<!--- Sets the custom ID on the Music Video asset -->
<ProprietaryId
Namespace="YOUTUBE:MV_CUSTOM_ID">music_video_id_1234</ProprietaryId>
<!--- Identifies the Music Video asset to be updated by Asset ID -->
<ProprietaryId
Namespace="YOUTUBE:MV_ASSET_ID">A333333333333333</ProprietaryId>
<!--- Adds one asset label to the Music Video asset -->
<ProprietaryId
Namespace="YOUTUBE:MV_ASSET_LABEL">mv_asset_label1</ProprietaryId>
<!--- Updates a specific Music Video asset -->
<ProprietaryId Namespace="YOUTUBE:VIDEO_ID">9bZkp7q19f0</ProprietaryId>
<!-- Specifies the channel to upload the video in -->
<ProprietaryId Namespace="YOUTUBE:CHANNEL_ID">MyChannel</ProprietaryId>
[...]
</VideoId>
Web videos
<VideoId>
[...]
<!--- Sets the custom ID on the Web Video asset -->
<ProprietaryId
Namespace="YOUTUBE:WEB_CUSTOM_ID">web_video_id_1234</ProprietaryId>
<!--- Identifies the Web asset to be updated by Asset ID -->
<ProprietaryId Namespace="YOUTUBE:Web_ASSET_ID">A222222222222222
</ProprietaryId>
<!--- Adds one asset label to the Web Video asset -->
<ProprietaryId
Namespace="YOUTUBE:WEB_ASSET_LABEL">web_asset_label1</ProprietaryId>
<!--- Updates a specific Web Video asset -->
<ProprietaryId Namespace="YOUTUBE:VIDEO_ID">9bZkp7q19f0</ProprietaryId>
<!-- Specifies the channel to upload the video in -->
<ProprietaryId Namespace="YOUTUBE:CHANNEL_ID">MyChannel</ProprietaryId>
[...]
</VideoId>
Playlists
<CollectionId>
[...]
<ProprietaryId Namespace="YOUTUBE:PLAYLIST_ID">PLONRDPtQh-FLMXFMM-
SJHySwjpidVXmzw</ProprietaryId>
[...]
</CollectionId>
Sound recording resources
Sound recording IDs
YouTube requires every <SoundRecording>
element to include a valid ISRC code. If you also track recordings using a proprietary ID code, you can include the <ProprietaryId>
element as a sibling to the <ISRC>
element inside the <SoundRecordingId>
. The format of the <ProprietaryId>
element is:
<SoundRecordingId>
<ISRC>USRE10400888</ISRC>
<ProprietaryId Namespace="DPID:your_DPid">custom_id_1234</ProprietaryId>
</SoundRecordingId>
Both your DDEX Party ID (Namespace) and the proprietary ID for the track are required. YouTube stores the proprietary ID value in the custom_id field of the sound recording asset (for Content ID deliveries) and the Art Track asset (for YouTube Premium deliveries). For example, the XML above results in an asset with ISRC USRE10400888 and a custom_id value of custom_id_1234.
To add different custom_id values to the Sound Recording and Art Track asset, you can use the dedicated "YOUTUBE:SR_CUSTOM_ID" and "YOUTUBE:AT_CUSTOM_ID" namespaces:
<SoundRecordingId>
<ISRC>USRE10400888</ISRC>
<!--- Sets the custom ID on the Sound Recording asset -->
<ProprietaryId
Namespace="YOUTUBE:SR_CUSTOM_ID">sound_recording_id_1234</ProprietaryId>
<!--- Sets the custom ID on the Art Track asset -->
<ProprietaryId
Namespace="YOUTUBE:AT_CUSTOM_ID">art_track_id_1234</ProprietaryId>
</SoundRecordingId>
If you are sending an update to an existing Sound Recording asset, you can identify the asset by asset ID by using the dedicated “YOUTUBE:SR_ASSET_ID” namespace:
<SoundRecordingId>
<ISRC>USRE10400888</ISRC>
<!--- Identifies the Sound Recording asset to be updated by Asset ID -->
<ProprietaryId
Namespace="YOUTUBE:SR_ASSET_ID">A111111111111111</ProprietaryId>
</SoundRecordingId>
To add asset labels to the Sound Recording and Art Track assets, you can use the dedicated ”YOUTUBE:SR_ASSET_LABEL” and ”YOUTUBE:AT_ASSET_LABEL” namespaces:
<SoundRecordingId>
<ISRC>USRE10400888</ISRC>
<!--- Adds two asset labels to the Sound Recording asset -->
<ProprietaryId
Namespace="YOUTUBE:SR_ASSET_LABEL">sr_asset_label1</ProprietaryId>
<ProprietaryId
Namespace="YOUTUBE:SR_ASSET_LABEL">sr_asset_label2</ProprietaryId>
<!--- Adds one asset label to the Art Track asset -->
<ProprietaryId
Namespace="YOUTUBE:AT_ASSET_LABEL">at_asset_label</ProprietaryId>
</SoundRecordingId>
To remove all asset labels from the Sound Recording you can use the dedicated
”YOUTUBE:CLEAR_SR_ASSET_LABELS” namespace:
<SoundRecordingId>
[...]
<!--- Removes all asset labels from the Sound Recording asset -->
<ProprietaryId
Namespace="YOUTUBE:CLEAR_SR_ASSET_LABELS">True</ProprietaryId>
[...]
</SoundRecordingId>
Sound recording metadata
For guidelines on how to populate the Sound Recording metadata, please refer to the Music Metadata Style Guide from the Music Business Association. The metadata from the <SoundRecording>
tag is used for:
- Content ID deliveries: metadata stored on the Sound Recording asset.
- YouTube Premium deliveries: Art Track creation and metadata stored on the Art Track asset.
Sound recording ownership
<RightsController>
tag under the <SoundRecording>
element. As per the DDEX standard, the <RightsController>
tag indicates where you own exclusive rights for the recording. This is separate from the Deals provided, but you should only provide Content ID deals for territories in which you own exclusive rights.Sound Recording ownership is applied using the <RightsController>
tag under the <SoundRecording>
element. The <PartyId>
must match that of the <MessageSender>
tag (or the <SentOnBehalfOf>
tag, if provided).
The XML example below specifies that ABC Label owns the Sound Recording in South Africa:
<ResourceList>
<SoundRecording>
[...]
<ResourceReference>A1</ResourceReference>
[...]
<SoundRecordingDetailsByTerritory>
<!--Specifies the territory/territories in which ownership should
be applied. -->
<TerritoryCode>ZA</TerritoryCode>
[...]
<!-- This section sets the ownership of the Sound Recording. -->
<RightsController>
<PartyName>
<FullName>ABC Label</FullName>
</PartyName>
<PartyId>PADPIDAZZZZXXXXXXU</PartyId>
<RightsControllerRole>RightsController</RightsControllerRole>
<RightSharePercentage>100.00</RightSharePercentage>
</RightsController>
[...]
</SoundRecordingDetailsByTerritory>
[...]
</SoundRecording>
</ResourceList>
Art Track ownership
<RightsController>
element is ignored in feeds that only create Art Tracks.Music video resources
Video type
The type of video can be specified using <VideoType>
. The allowed Music Video types are:
- LongFormMusicalWorkVideo
- ShortFormMusicalWorkVideo
Music video IDs
YouTube requires every Music Video <Video>
element to include a valid ISRC code. This ISRC code must be different from the one used for the sound recording as per IFPI guidelines. If you also track video resources using a proprietary ID code, you can include the <ProprietaryId>
element as a sibling to the <ISRC>
element inside the <VideoId>
. The format of the <ProprietaryId> element is:
<VideoId>
<ISRC>USRE10400889</ISRC>
<ProprietaryId Namespace="DPID:your_DPid">custom_id_1234</ProprietaryId>
</VideoId>
YouTube stores the proprietary ID value in the custom_id field of the music video asset (for Content ID deliveries). For example, the XML above results a Music Video asset with ISRC USRE10400889 and a custom_id value of custom_id_1234.
To add a custom_id value to the Music Video asset, you can use the dedicated "YOUTUBE:MV_CUSTOM_ID" namespace:
<VideoId>
<ISRC>USRE10400889</ISRC>
<!--- Sets the custom ID on the Music Video asset -->
<ProprietaryId
Namespace="YOUTUBE:MV_CUSTOM_ID">music_video_id_1234</ProprietaryId>
</VideoId>
If you are sending an update to an existing Music Video asset, you can identify the asset by asset ID by using the dedicated “YOUTUBE:MV_ASSET_ID” namespace:
<VideoId>
<ISRC>USRE10400889</ISRC>
<!--- Identifies the Music Video asset to be updated by Asset ID -->
<ProprietaryId
Namespace="YOUTUBE:MV_ASSET_ID">A222222222222222</ProprietaryId>
</VideoId>
To add asset labels to the Music Video asset, you can use the dedicated "YOUTUBE:MV_ASSET_LABEL" namespace:
<VideoId>
<ISRC>USRE10400889</ISRC>
<!--- Adds two asset labels to the Music Video asset →
<ProprietaryId
Namespace="YOUTUBE:MV_ASSET_LABEL">mv_asset_label1</ProprietaryId>
<ProprietaryId
Namespace="YOUTUBE:MV_ASSET_LABEL">mv_asset_label2</ProprietaryId>
</VideoId>
To remove all asset labels from the Music Video you can use the dedicated
”YOUTUBE:CLEAR_MV_ASSET_LABELS” namespace:
<VideoId>
[...]
<!--- Removes all asset labels from the Music Video asset -->
<ProprietaryId
Namespace="YOUTUBE:CLEAR_MV_ASSET_LABELS">True</ProprietaryId>
[...]
</VideoId>
To specify the channel into which the video should be uploaded, you can use the dedicated "YOUTUBE:CHANNEL_ID" namespace:
<VideoId>
<ISRC>USRE10400889</ISRC>
<!-- Specifies the channel to upload the video in -->
<ProprietaryId Namespace="YOUTUBE:CHANNEL_ID">MyChannel</ProprietaryId>
</VideoId>
If no channel is specified in the feed, then the video will be uploaded in the default channel configured in your uploader account.
To update a previously uploaded video, you can use the dedicated "YOUTUBE:VIDEO_ID" namespace:
<VideoId>
<ISRC>USRE10400889</ISRC>
<ProprietaryId Namespace="YOUTUBE:VIDEO_ID">9bZkp7q19f0</ProprietaryId>
</VideoId>
To upload a Music Video as unlisted, you can use the dedicated “YouTube: IS_DISCOVERBALE” namespace:
<VideoId>
<ISRC>USRE10400889</ISRC>
<ProprietaryId Namespace="YOUTUBE:IS_DISCOVERBALE">false</ProprietaryId>
</VideoId>
Music video metadata
For guidelines on how to populate Music Video metadata in DDEX, please refer to the Music Metadata Style Guide from the Music Business Association. The following elements from the <Video>
tag are used to populate video and metadata on YouTube:
Video: Title | <VideoDetailsByTerritory> |
Video: Tags/Keywords | <VideoDetailsByTerritory> |
Asset: Song | <Video> |
Asset: Label Name | <VideoDetailsByTerritory> |
Asset: Artists |
|
Asset: Genre | <VideoDetailsByTerritory> |
The video description is populated from the <Release>
, not the <Video>
. See the Release List section for more information.
Music video ownership
<RightsController>
tag under the <Video>
element. As per the DDEX standard, the <RightsController>
tag indicates where you own exclusive rights for the video. This is separate from the Deals provided, but you should only provide Content ID deals for territories in which you own exclusive rights.Music Video asset ownership is applied using the <RightsController>
tag under the <Video>
element. The <PartyId>
must match that of the <MessageSender>
tag (or the <SentOnBehalfOf>
tag, if provided).
The XML example below specifies that ABC Label owns the Music Video asset in South Africa:
<ResourceList>
<Video>
[...]
<ResourceReference>A1</ResourceReference>
[...]
<VideoDetailsByTerritory>
<!--Specifies the territory/territories in which ownership should be applied. -->
<TerritoryCode>ZA</TerritoryCode>
[...]
<!-- This section sets the ownership of the Music Video asset. -->
<RightsController>
<PartyName>
<FullName>ABC Label</FullName>
</PartyName>
<PartyId>PADPIDAZZZZXXXXXXU</PartyId>
<RightsControllerRole>RightsController</RightsControllerRole>
<RightSharePercentage>100.00</RightSharePercentage>
</RightsController>
[...]
</VideoDetailsByTerritory>
[...]
</Video>
</ResourceList>
Web video resources
Video type
The type of video can be specified using <VideoType>
. The allowed web video types are:
- LongFormNonMusicalWorkVideo
- ShortFormNonMusicalWorkVideo
Web video IDs
If you track video resources using a proprietary ID code, you can include the <ProprietaryId>
element as a sibling to the <ISRC>
element inside the <VideoId>
. The format of the <ProprietaryId> element is:
<VideoId>
<ProprietaryId Namespace="DPID:your_DPid">custom_id_1234</ProprietaryId>
</VideoId>
YouTube stores the proprietary ID value in the custom_id field of the web video asset (for Content ID deliveries). For example, the XML above results a Web asset with a custom_id value of custom_id_1234.
To add a custom_id value to the Web asset, you can use the dedicated "YOUTUBE:WEB_CUSTOM_ID" namespace:
<VideoId>
<!--- Sets the custom ID on the Web asset -->
<ProprietaryId Namespace="YOUTUBE:WEB_CUSTOM_ID">web_video_id_1234</ProprietaryId>
</VideoId>
If you are sending an update to an existing Web asset, you can identify the asset by asset ID by using the dedicated “YOUTUBE:WEB_ASSET_ID” namespace:
<VideoId>
<!--- Identifies the Web asset to be updated by Asset ID -->
<ProprietaryId Namespace="YOUTUBE:Web_ASSET_ID">A222222222222222</ProprietaryId>
</VideoId>
To add asset labels to the Web asset, you can use the dedicated "YOUTUBE:WEB_ASSET_LABEL" namespace:
<VideoId>
<!--- Adds two asset labels to the Web asset →
<ProprietaryId
Namespace="YOUTUBE:WEB_ASSET_LABEL">web_asset_label1</ProprietaryId>
<ProprietaryId
Namespace="YOUTUBE:WEB_ASSET_LABEL">web_asset_label2</ProprietaryId>
</VideoId>
To specify the channel into which the video should be uploaded, you can use the dedicated "YOUTUBE:CHANNEL_ID" namespace:
<VideoId>
<!-- Specifies the channel to upload the video in -->
<ProprietaryId Namespace="YOUTUBE:CHANNEL_ID">MyChannel</ProprietaryId>
</VideoId>
If no channel is specified in the feed, then the video will be uploaded in the default channel configured in your uploader account.
To update a previously uploaded video, you can use the dedicated "YOUTUBE:VIDEO_ID" namespace:
<VideoId>
<ProprietaryId Namespace="YOUTUBE:VIDEO_ID">9bZkp7q19f0</ProprietaryId>
</VideoId>
Web video metadata
The following elements from the <Video>
tag are used to populate video and metadata on YouTube:
Video: Title | <VideoDetailsByTerritory> |
Video: Tags/Keywords | <VideoDetailsByTerritory> |
The video description is populated from the <Release>
, not the <Video>
. See the Release List section for more information.
Web video ownership
<RightsController>
tag under the <Video>
element. As per the DDEX standard, the <RightsController>
tag indicates where you own exclusive rights for the video. This is separate from the Deals provided, but you should only provide Content ID deals for territories in which you own exclusive rights.Web asset ownership is applied using the <RightsController>
tag under the <Video>
element. The <PartyId>
must match that of the <MessageSender>
tag (or the <SentOnBehalfOf>
tag, if provided).
The XML example below specifies that ABC Label owns the Web asset in South Africa:
<ResourceList>
<Video>
[...]
<ResourceReference>A1</ResourceReference>
[...]
<VideoDetailsByTerritory>
<!--Specifies the territory/territories in which ownership should be applied. -->
<TerritoryCode>ZA</TerritoryCode>
[...]
<!-- This section sets the ownership of the Web asset. -->
<RightsController>
<PartyName>
<FullName>ABC Label</FullName>
</PartyName>
<PartyId>PADPIDAZZZZXXXXXXU</PartyId>
<RightsControllerRole>RightsController</RightsControllerRole>
<RightSharePercentage>100.00</RightSharePercentage>
</RightsController>
[...]
</VideoDetailsByTerritory>
[...]
</Video>
</ResourceList>
Set your video's audience
Set your video's audience
Regardless of your location, you’re legally required to comply with the Children’s Online Privacy Protection Act and/or other laws. You’re required to tell us that your videos are made for kids if you make kids content.
Set a video as made for kids or not
To upload a non-Art Track video (i.e. Music Video or Web Video) as made for kids or not made for kids, use the <AvRating>
element with either MadeForKids
or NotMadeForKids
following this format:
<VideoDetailsByTerritory>
<TerritoryCode>Worldwide</TerritoryCode>
[...]
<AvRating>
<RatingText>MadeForKids</RatingText>
<RatingAgency Namespace="YOUTUBE">UserDefined</RatingAgency>
</AvRating>
[...]
</VideoDetailsByTerritory>
The field is either optional or required, depending on the channel default you’ve chosen for the channel the video will be uploaded to.
Optional made for kids flag
- “Yes, set this channel as made for kids. I always upload content that’s made for kids.”
- “No, set this channel as not made for kids. I never upload content that’s made for kids.”
If you've already set your audience for your video and YouTube detects error or abuse, you will see your video marked as “Made for kids - Set by YouTube". You won't be able to change your audience setting. If you disagree, you can use the “Send Feedback” button.
Required made for kids flag
- “I want to review this setting for every video.”
If you've already set your audience for your video and YouTube detects error or abuse, you will see your video marked as “Made for kids - Set by YouTube". You won't be able to change your audience setting. If you disagree, you can use the “Send Feedback” button.