Ago refers to a period of time measured ack from now ;
but before refers to a specific time in the past.
He came here long ago.
He had come here long before (before a specific time in the past).
I saw him two months ago.
I had seen him two months before (before the specific time referred to in the report).
I went there some time ago.
I had gone there some time before (before the time referred to).
I wept there before (before now).
"As a Conjunction of time it (i.e. before) is followed by a verb in some Present tense, even if the verb in the Principal clause is in the Future tense:
The crops will die before the rains fall or have fallen."- Nesfield.
So also with when and after :
When I see (not shall see) him, I shall give him the message.
I shall go there after you come (not will come).