How to Track Your Pitch Deck and See Which Investors Actually Read It
You sent the deck to twelve investors. Two replied, one asked for a call, and the rest are — silence. But silence isn't one thing: some never opened it, some skimmed three slides between meetings, and one read your financials twice last night. Those are completely different follow-ups.
In this tutorial you'll send the deck through per-investor tracking links, so every open, every slide, and every re-read tells you exactly who deserves your energy this week.
Put the deck behind per-investor links
Upload the deck once, then mint one link per investor. Each link is tokenized with the investor's identity — that's what turns anonymous "views" into Maya read it twice.
curl -X POST https://apdf.io/api/docs \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-d file="https://your-server.com/nimbushr-seed-deck.pdf" \
-d name="NimbusHR Seed Deck"
curl -X POST https://apdf.io/api/docs/1ded0-93481-02007/links \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json" \
-d name="Maya Lindqvist" \
-d email="maya@nordicventures.example"
{
"data": {
"token": "LB9oQJ6v",
"name": "Maya Lindqvist",
"email": "maya@nordicventures.example",
"url": "https://docs.apdf.io/nimbushr/1ded0-93481-02007?v=LB9oQJ6v",
"is_active": true,
"last_viewed_at": null,
"created_at": "2026-07-23T07:01:31.000000Z"
}
}
Repeat per investor — a loop over your target list if you're scripting it, or two clicks each in the dashboard. Then email each investor their link.
Read the room in the dashboard
From the first open, reading sessions appear under your document: open it under Documents and switch to the Sessions tab.
Three investors, three different follow-ups:
- Maya read all ten slides for 6.5 minutes — expand her session and you'll see the Traction and Financials slides held her longest. Prepare that call.
- Sofia finished the deck and came back to Team and The Ask — a partner discussion is happening. Offer the meeting now.
- Jonas dropped off after four slides in 33 seconds. Don't burn a follow-up on him this week.
Pull the same answers over the API
Everything the dashboard shows is one API call away — per session, per investor:
curl https://apdf.io/api/docs/1ded0-93481-02007/analytics/sessions \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
{
"data": [
{
"session_id": "sMayaDeckRead001",
"viewer_id": "vMayaLindq01xxxx",
"recipient": {
"name": "Maya Lindqvist",
"email": "maya@nordicventures.example"
},
"device_type": "desktop",
"browser": "Chrome",
"os": "Linux",
"referer": null,
"utm_source": null,
"created_at": "2026-07-23 01:52:14.546",
"pages_viewed": 10,
"total_duration_ms": 389000,
"completion_pct": 100,
"prints": 0,
"downloads": 0
}
]
}
Which makes the investor ranking a one-liner — sorted by attention, ready for your Monday pipeline review:
curl -s https://apdf.io/api/docs/1ded0-93481-02007/analytics/sessions \
-H "Authorization: Bearer YOUR_API_TOKEN" -H "Accept: application/json" \
| jq -r '.data | sort_by(-.total_duration_ms) | .[]
| "\(.recipient.name): \(.total_duration_ms / 60000 | floor)m\(.total_duration_ms % 60000 / 1000 | floor)s · \(.completion_pct)% read"'
Maya Lindqvist: 6m29s · 100% read
Sofia Ricci: 4m47s · 100% read
Jonas Weber: 0m33s · 40% read
Where to go from here
Knowing who read it is the start — the same links can tell you the moment things change.