Design LinkedIn carousel posts that prioritize a hook slide, consistent branding, and data‑driven slide sequencing to boost saves and reposts.
Step‑by‑step workflow
1. Research hook – Use LinkedIn’s post insights API (GET /v2/posts/{id}?projection=(insights)) to extract the top‑performing headline keywords from the last 30 days; target a CTR > 5 % for the first slide.
2. Storyboard – Draft 6–10 slides in a Google Slides deck; keep text ≤ 30 words per slide and visual hierarchy 80/20 (image : text).
3. Brand grid – Apply a 1080 × 1080 px canvas with a 4:5 safe zone. Set --brand-primary: #0A66C2; --brand-secondary: #FFFFFF; in your CSS‑styled export script.
4. Design assets – Generate images with Adobe Photoshop batch action or an automated Python script using Pillow:
from PIL import Image, ImageDraw, ImageFont
def make_slide(text, idx):
img = Image.new('RGB', (1080,1080), '#0A66C2')
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('Montserrat-Bold.ttf', 72)
draw.text((540,540), text, font=font, fill='white', anchor='mm')
img.save(f'slide_{idx:02}.png')5. Export to PDF – Use ffmpeg to combine PNGs into a single PDF: ffmpeg -framerate 1 -i slide_%02d.png -c:v libx264 -r 30 -pix_fmt yuv420p carousel.pdf.
6. Upload via LinkedIn API – POST multipart to /v2/assets?action=registerUpload with mediaCategory=CAROUSEL; attach the PDF URL.
7. A/B test – Run two carousel variants (different hook phrasing) for 48 h; compare save rate (savedCount / impressionCount). Deploy the version with ≥ 2 % lift.
Quick comparison
| Metric | Target | Tool |
|--------|--------|------|
| First‑slide CTR | >5 % | LinkedIn Insights API |
| Save rate lift | ≥2 % | A/B test dashboard |
| Repost rate | >1 % | Post analytics |
Gotcha: LinkedIn caps carousel PDFs at 10 MB; exceeding this silently drops slides, so compress PNGs to ≤ 500 KB before merging.