{
  "meta": {
    "url": "https://shotlingo.com/tools/app-store-in-app-event-specs",
    "lastVerified": "2026-10-31",
    "sources": {
      "apple": "https://developer.apple.com/help/app-store-connect/reference/in-app-events/in-app-event-media-and-audio-specifications",
      "overview": "https://developer.apple.com/app-store/in-app-events/"
    },
    "license": "MIT",
    "attribution": "Maintained by Shotlingo (https://shotlingo.com). Linkback appreciated."
  },
  "specs": [
    {
      "field": "Event reference name",
      "kind": "text",
      "limit": "64 characters",
      "required": "Yes",
      "note": "Internal only. Never shown on the App Store."
    },
    {
      "field": "Event name",
      "kind": "text",
      "limit": "30 characters",
      "required": "Yes",
      "note": "Shown on the event card and details page. Localizable."
    },
    {
      "field": "Short description",
      "kind": "text",
      "limit": "50 characters",
      "required": "Yes",
      "note": "Shown on the event card. Localizable."
    },
    {
      "field": "Long description",
      "kind": "text",
      "limit": "120 characters",
      "required": "Yes",
      "note": "Shown on the event details page. Localizable."
    },
    {
      "field": "Event card image",
      "kind": "media",
      "limit": "1920 x 1080 px min, 3840 x 2160 px max (16:9)",
      "required": "Yes",
      "note": "JPG or PNG, landscape, up to 500 MB."
    },
    {
      "field": "Event details page image",
      "kind": "media",
      "limit": "1080 x 1920 px min, 2160 x 3840 px max (9:16)",
      "required": "Yes",
      "note": "JPG or PNG, portrait, up to 500 MB."
    },
    {
      "field": "Event card video",
      "kind": "media",
      "limit": "1920 x 1080 px min, 3840 x 2160 px max (16:9), 30 or 60 fps",
      "required": "Optional",
      "note": "MOV, M4V or MP4, up to 500 MB. Videos autoplay and repeat, so make the clip loop."
    },
    {
      "field": "Event details page video",
      "kind": "media",
      "limit": "1080 x 1920 px min, 2160 x 3840 px max (9:16), 30 or 60 fps",
      "required": "Optional",
      "note": "MOV, M4V or MP4, portrait, up to 500 MB."
    },
    {
      "field": "Deep link",
      "kind": "text",
      "limit": "One URL per event",
      "required": "Optional",
      "note": "Opens the event inside your app from Open on the card or details page. A universal link (Apple recommends it) or a custom URL."
    }
  ],
  "eventTypes": [
    {
      "type": "Challenge",
      "useFor": "Goal-based activity users complete over time, such as a streak or fitness month."
    },
    {
      "type": "Competition",
      "useFor": "Players or teams compete for rank, such as a tournament or leaderboard season."
    },
    {
      "type": "Live Event",
      "useFor": "Something that happens at a set time, such as a stream, concert or in-game happening."
    },
    {
      "type": "Major Update",
      "useFor": "A large release with new features or content, not a routine bug fix."
    },
    {
      "type": "New Season",
      "useFor": "A new season, chapter or content cycle, such as a battle pass reset."
    },
    {
      "type": "Premiere",
      "useFor": "First availability of new content, such as a show, album, level pack or collection."
    },
    {
      "type": "Special Event",
      "useFor": "Anything that does not fit above, such as a sale, collaboration or holiday theme."
    }
  ],
  "rules": [
    {
      "label": "Event duration",
      "value": "Up to 31 days",
      "note": "An event can be promoted on the App Store up to 14 days before its start date."
    },
    {
      "label": "Published at once",
      "value": "10 events",
      "note": "Per app, on the App Store at a time."
    },
    {
      "label": "Approved at once",
      "value": "15 events",
      "note": "Per app, in App Store Connect at a time."
    },
    {
      "label": "Review",
      "value": "Submitted with or apart from a version",
      "note": "Every event goes through App Review. Apple says specific pricing in the event leads to rejection."
    },
    {
      "label": "Event priority",
      "value": "High / Normal",
      "note": "Events show on the product page by start time, soonest first. High priority events show ahead of normal ones."
    },
    {
      "label": "Event purpose",
      "value": "4 options",
      "note": "Appropriate for all users, attract new users, keep active users informed, or bring back lapsed users. Not shown to users; it feeds personalized recommendations."
    },
    {
      "label": "Localization",
      "value": "Per language",
      "note": "Name, short and long description are localized per language. The primary language shows where the event has no localization."
    },
    {
      "label": "Where events appear",
      "value": "Product page, Search, Today, Games, Apps",
      "note": "In search the event card shows to users who already downloaded the app. Events also appear in Apple Games."
    }
  ]
}