Before you start
This is the practical version of how to ship a recap. The strategic case is covered separately in Beyond Wrapped Campaigns: why wrapped campaigns underperform, the three hurdles every share has to clear, and the economics of on-device rendering. This playbook assumes that argument has been settled and the question now is execution: how to pick stats, design a video, choose a cadence, and land a launch on schedule.
The structure works backwards from launch. Stats first, then design, then cadence, then the calendar and the integration. Skip ahead to whichever decision is currently in front of you.
Picking stats that flatter every user
The single most common reason a recap underperforms is poor stat selection. Three filters consistently work.
Personal, not transactional. “You ran 500 miles this year” makes a user feel like an athlete; “you opened the app 847 times” makes them feel watched. The data points that work are the ones that map to effort or achievement, like distance covered, money saved, goals hit, content created, or connections made.
Specific enough to feel rare. Headline aggregates have to compete with everyone else’s headline aggregates, which is a hard race to win. Niche stats win on specificity instead, by placing the user in a category small enough to feel as if it was carved out just for them. A few examples of what cross-referencing the data can produce, where locale, time, behaviour, and outcome combine to find an angle specific to a single user:
- A fitness app: “Top 1% of users who train before 6am in Edinburgh.”
- A language learning app: “99th percentile for Tuesday-night Spanish learners.”
- A streaming platform: “One of 12 users who finished every season of the show on its launch day.”
- A fantasy sports app: “Top 1% of managers who started a relegated goalkeeper and still finished above 50 points.”
The angle doesn’t have to be enormous; it just has to be the kind of thing the user can’t help reading aloud.
Capable of adapting when the data doesn’t flatter. When a particular user’s headline stat isn’t impressive, the recap should swap to a different component: a different angle, an aesthetic element that doesn’t depend on a number, or a user-contributed slot like a photo, a typed message, or an animated decoration. The goal is to make every user feel individually celebrated, not to dump every available data point regardless of whether it flatters them.
When users can choose which components appear in their final video, the resulting selection becomes its own feedback loop. Tracking which stats users opt to display and which they ignore reveals what they actually find shareable, so the next campaign can improve on the back of real signal rather than guesswork.
The design checklist
Six creative rules that consistently move the needle, each one mapping to one of the three hurdles every share has to clear.
- Under 20 seconds, designed to loop. Platform algorithms reward watch time and repeat views, and a 15-second video watched three times produces 45 seconds of watch time. Design the ending so it cuts cleanly back to the start. Hurdle 3.
- Layer information across the frame. Place different elements in different parts of the screen so the eye can’t take everything in at once: the first viewing pulls toward the top-left, the second toward the bottom-right, the third toward the top-right. The result is a video that’s intentionally hard to absorb in one pass, which means viewers naturally loop. Hurdle 3.
- Unmistakably the app’s brand. A viewer glancing at a friend’s share should know within a second which app produced it, which is one of the primary reasons the campaign exists in the first place. Generic templates fail this test; custom typography, distinctive colour, and app-specific iconography are what pass it. Hurdle 2.
- A quiet brand-edge moment. One small element that highlights what makes the app different, as long as it serves the user’s story. Lichess’s “data shared with third parties: zero” stat works because it’s invisible to anyone who doesn’t notice it. Hurdle 1, for the users who do.
- Pride or self-deprecation, but never exposure. Every component should make the user feel something they’d want to post. “Top 1% for not showing up” works because it’s funny and self-aware; “your biggest day was 12 minutes” doesn’t, because it isn’t. Hurdle 1.
- Smooth on low-end devices. Performance on a four-year-old phone matters as much as performance on a flagship, because a janky animation undermines the perceived quality of both the campaign and the app it represents. Hurdles 1 and 2.
If a draft of the recap doesn’t pass each of these, it’s not ready for launch.
Choosing a cadence
There are four reasonable cadences for a recap, and the choice should be settled before design starts.
Annual recap. Spotify Wrapped invented this format and owns the end-of-year window. Anyone running an annual recap is competing for attention in Spotify’s shadow, with audiences already fatigued by similar campaigns and feeds saturated. The bar Spotify has set is high enough that comparison is unavoidable. The format still works for products where usage is year-round and personal data accumulates meaningfully over twelve months, such as music, reading, and video streaming. It works badly for products with seasonal usage like fantasy sports in the off-season, or thin year-end data like fitness in late December.
Monthly recap. A synchronised monthly cadence gives every user across the app a reason to share at the same time, and it works particularly well for products where users care about month-on-month consistency, such as fitness, running, and language learning. The campaign gets a recurring synchronised peak more often than once a year, and it doesn’t have to compete with the end-of-year crowd to do so.
Milestone trigger. A recap that fires when an individual user does something worth celebrating, such as hitting a personal record, completing a meaningful streak, or unlocking an achievement. There’s no synchronised peak with this approach, but each user is caught at the point of peak pride. The economics only work with on-device rendering, because the campaign stays live year-round at flat cost.
Combination. A milestone trigger for the steady drip of exposure throughout the year, paired with a synchronised monthly or seasonal moment for the cultural peaks. The two strategies don’t compete: one carries the long tail, the other carries the moment.
If unsure, milestone-triggered is the safest default for most apps. It compounds over time and doesn’t depend on a calendar working in the app’s favour.
The launch calendar
A custom recap typically takes eight weeks of calendar time from creative brief to launch: four to six weeks of design and build, plus two weeks of data pipeline setup and QA.
Working forward from kick-off:
- Week 1: Kick-off. The creative brief is approved, the cadence is decided, and the CTA placement is locked in. (See below: the last of these is the single most common cause of delay.)
- Weeks 2–5: Design and build. Custom design from scratch, including component selection, stat-filtering logic, and adaptive content that handles users with underperforming data.
- Week 6: Data pipeline. The engineering team builds the user-data construction that feeds the recap, and the URL parameter or API call format is finalised.
- Week 7: QA. The recap is tested across devices and OS versions, including low-end hardware, and against edge-case user data ranging from very high to very low to zero activity, including brand-new accounts.
- Week 8: Final review and staging. Approval cycles run while the CTA copy and placement go live in staging.
- Launch. The entry point goes live and the sharing flow is active.
The single most common reason a launch slips isn’t design or engineering; it’s the team debating CTA placement after the build is finished. The candidates are usually an in-app banner, a push notification, an email, a settings screen, or a splash on next open, and each comes with its own trade-offs in reach, intrusiveness, and contextual fit. Settle the placement at kick-off, not the week before launch.
The integration checklist
The engineering work to integrate a custom recap is small but real. A short list of what to confirm before development starts.
- Data shape. Which user data fields are needed, and in what format (numeric, string, percentile, derived)? Define the schema before designing the components that consume it.
- Delivery format. Simple campaigns can be served with URL parameters, while richer ones need a lightweight API call. The choice depends on how much data is being passed and whether the recap needs to fetch additional context at runtime.
- Embed point. Where does the experience open inside the app? The options are a modal, a dedicated screen, or a deep link from elsewhere, and the answer shapes the in-app entry-point design.
- Share flow. On iOS, the native share sheet usually handles this without extra work. On Android, there’s a bridge to native sharing; confirm whether anything custom needs to surface.
- Edge cases. What happens with a user who has thin data, zero activity, or a brand-new account? The recap should still produce a credible output rather than failing or showing an apologetic “not enough data” message.
- Analytics hookups. Share-tap is the metric that matters most, so instrument it from day one. Engagement metrics like started, completed, and looped are also worth capturing to inform future iteration.
None of these are difficult to answer in isolation, but each one becomes a blocker if left until late in the build.