- We were hot because we'd run.
There is no grammatical mistake here. "We'd" can stand for "we had", "we would" or "we should".
In this case, it stands for "we had": "We were hot because we had run."
Just a guess here, but I would say: We were hot because we'd been running. (as has been noted by a previous answer, the we'd is a common contraction that native speakers use to express we had). But "had run" seems awkward compared to my version. (past perfect continuous)
We were hot because we'd run.
The sentence is correct but most English tests and grammar books explain this mistake this way: there should be an action in the progressive aspect preceding the result.
- We were hot because we had been running. - is obviously prefered by tests and grammar books. The reason we were hot was because before that we had been running (this is the reason why we were hot).