16k views, 4 likes
My social dashboard pulls account-level metrics from Threads and shows them in one row. One day that row read: about 16k views, 4 likes, 2 replies, 0 reposts.
My first read was that the content had a problem: people were seeing it and nobody was reacting. When the numbers look like that, it's an easy conclusion to reach, and it sends you looking for the cause outside your code.
When one metric on your dashboard looks oddly low, can you point to the line of code that says what time range it covers?
I couldn't. The call didn't specify a range at all.
The cause: leave since empty and the default window is about a day
The threads_insights call in engine/threads.py had no since/until parameters. Without them the API uses its default window, which was roughly one day.
So likes and replies weren't account totals. They were one day's worth. No error and no warning came back. The response was valid and well-formed. I just hadn't asked for a time range, and the API answered with a short one.
With a big number like views sitting next to them, that produced the "16k views, 4 likes" illusion. I was reading one day's count against a number from a wider range, side by side, as if they were a ratio.
What would you do?
When a metric looks wrong, do you start by doubting the content, or by checking the query's date arguments?
The fix: state the range explicitly
The fix was small. I added since/until and set a 725-day window so the account's full history gets summed. One file, 10 lines added, 4 removed.
Measured after the change:
- likes: 4 → 670
- replies: 2 → 230
- reposts: 0 → 40
Same account, same day, same API. The only thing that changed was the time-range argument.
I checked whether Instagram had the same problem. Its per-post like_count checked out as correct, so that side wasn't a bug and I left it alone. I checked it separately on purpose rather than assume a trap on one platform also existed on the other.
Self-check
- Does every metrics API call you make set its time range (since/until or similar) explicitly, or does it rely on the default?
- Have you confirmed that numbers shown side by side on one screen cover the same time range?
- When a number comes back low, do you have a set habit of checking the query arguments before interpreting it?
The honest part
From this record alone I can't say whether 725 days covers the account's entire history, or whether it's the maximum the API allows. I also didn't look into why the view count wasn't shrunk the same way. And I haven't traced back how long this bug was live or what decisions I made from these numbers while it was. One thing is clear: a large part of what I read as "no engagement" came from a parameter I'd left empty, not from the content.