Content markup properties of music playlists

This section provides the details of the content markup properties for the MusicPlaylist entity type.

Specification table

Property Expected Type Description
@context Text Required - Always set to ["http://schema.googleapis.com", {"@language": "xx"}].
  • Where "xx" represents the language of the strings in the feed. Each root entity context should have it's @language set to the appropriate language code in BCP 47 format format. For example, if the language is set to Spanish, the names are assumed to be in Spanish even if the subtitle/dub language is in English.
@type Text Required - Always set to MusicPlaylist for mixes.
@id URL Required - The content's identifier in URI format; for example, https://example.com/1234abc.
@id must meet the following requirements:
  • Globally unique across your catalog
  • Static; The ID should be stable and not change over time (even if the url property of the show changes). It will be treated as an opaque string and does not have to be a working link.
  • In the form of Unified Resource Identifier (URI)
  • The domain used for the @id value must be owned by your organization.
Because an entity's url meets all the requirements as an identifier, we recommend you use an entity's url as @id. See the Identifier section for more details.
url URL Required - The content's canonical URL, which Google uses to match the content in your feed to the content in Google's databases.
url must meet the following requirements:
  • url must be globally unique
  • url must contain a working canonical URL that Google can crawl.
  • url needs to point to a content description page that is not blocked by a paywall.
For playback's deep link, see the target object's urlTemplate property instead.
name Text Required - The name of the playlist, for example "Funky Jazz Mix".
genre Text Required if the playlist is a genre mix - A list of keywords specific to the genre that the playlist represents. The presence of this property signals Google that you intend this playlist to be a genre playlist.
numTracks Integer Required if the playlist is a curated mix - The number of tracks in the playlist. The presence of this property signals Google that this playlist is hand curated. The absence of this property will signal that the playlist is an endless auto-generated playlist.
potentialAction ListenAction Required - An Action markup object that provides the details of the action. See the Action markup properties for details.
image ImageObject A playlist image which represents the playlist or music mix. See Image markup properties.
creator Organization or Person Recommended if the creator is of high interest. Use this property to indicate the playlists created by your service (typed as Organization with its name property indicating your service) or a high interest user of your service (typed as Person with its name property indicating the user of interest).
keywords Text A list of keywords ("rock", "pop"), moods ("happy", "moody"), activities ("exercise", "relaxing"), or other terms related to the playlist.
description Text A brief description of the playlist. 300-character limit.
isFamilyFriendly Boolean Indicates whether this content is family friendly (that is, the content is suitable for all members of a family, including children). Google products may use isFamilyFriendly when determining a song to play.
popularityScore PopularityScoreSpecification Highly Recommended Why? A score that Google uses, plus other signals, to determine which media to play for users. This score represents the popularity of the content in relation to other content in your catalog; therefore, the score's scale needs to be consistent across your feeds, among all the entities in your catalog. By default, an entity's popularity score is set to 0.
popularityScore.@type Text Always set to PopularityScoreSpecification.
popularityScore.value Number A non-negative numeric value that indicates the popularity of the entity; a higher score means higher popularity.
popularityScore.eligibleRegion Country Region(s) where this popularity score is applicable. If the popularity score is globally applicable, set to EARTH. By default, this property is set to EARTH.
Note: Locale-specific popularity takes precedence over global (EARTH) popularity

Example

Example that contains a hand-curated playlist of the 2010s pop songs:

{
  "@context":["http://schema.googleapis.com/", {"@language": "en"}],
  "@type":"MusicPlaylist",
  "@id":"http://www.example.com/playlist/top-pop-songs/",
  "url":"http://www.example.com/playlist/top-pop-songs/",
  "name":"Top Pop Songs of the 2010s",
  "image":[
  {
    "@type": "ImageObject",
    "contentUrl" : "http://www.example.com/playlist/top-pop-songs/1x1/photo1.jpg",
    "dateModified" : "2018-01-05T22:11:33+00:00",
    "regionsAllowed" : ["US","UK","MX"]
  },
  {
    "@type": "ImageObject",
    "contentUrl" : "http://www.example.com/playlist/top-pop-songs/1x1/photo2.jpg",
    "dateModified" : "2018-01-05T22:11:33+00:00",
    "regionsAllowed" : ["UA", "IR"]
  }],
  "genre": [
     "pop",
     "2010s"
  ],
  "numTracks":"46",
  "potentialAction":{
    "@type":"ListenAction",
    "target":[
      {
        "@type":"EntryPoint",
        "urlTemplate":"http://www.example.com/playlist/top-pop-songs?autoplay=true",
        "actionPlatform":[
          "http://schema.org/DesktopWebPlatform",
          "http://schema.org/IOSPlatform",
          "http://schema.org/AndroidPlatform",
          "http://schema.org/AndroidTVPlatform",
          "http://schema.googleapis.com/GoogleAudioCast",
          "http://schema.googleapis.com/GoogleVideoCast"
        ]
      },
      {
        "@type": "EntryPoint",
        "urlTemplate": "android-app://com.app.example/playlist/top-pop-songs?autoplay=true",
        "actionPlatform": "http://schema.org/AndroidPlatform"
      }
    ],
    "expectsAcceptanceOf":{
      "@type":"Offer",
      "category":"free",
      "eligibleRegion": {
        "@type":"Country",
        "name":"US"
      }
    }
  },
  "creator": {
    "@type": "Organization",
    "name": "example.com"
  },
  "keywords": [
    "pop",
    "Party music"
  ],
  "popularityScore": {
    "@type": "PopularityScoreSpecification",
    "value": 78,
    "eligibleRegion": [
      {
        "@type": "Country",
        "name": "US"
      },
      {
        "@type": "Country",
        "name": "CA"
      }
    ]
  },
  "description":"Top pop songs from the last decade."
}

Check out the following pages for the topics related to these properties: