había hecho: what had already happened before another past moment
The pluscuamperfecto describes an action completed before another past action — exactly like English "had done". Form: imperfect of haber + past participle.
Cuando llegué, el tren ya había salido. (When I arrived, the train had already left.)
No conocía Madrid porque nunca había estado allí. (I didn't know Madrid because I had never been there.)
If English says "had + past participle", Spanish says había + participio. The mapping is one-to-one.
Conjugate haber in the imperfect; the participle never changes.
había · habías · había · habíamos · habíais · habían + participio
hablar → hablado · comer → comido · vivir → vivido
Habíamos terminado antes de las ocho. (We had finished before eight.)
Nothing can come between haber and the participle: ya, nunca, todavía go BEFORE había or after the participle.
The same irregular participles you met with the pretérito perfecto return here — learn them as a block.
hacer → hecho · ver → visto · decir → dicho · escribir → escrito
poner → puesto · volver → vuelto · abrir → abierto · romper → roto · morir → muerto
Nunca había visto el mar. (I had never seen the sea.) — visto, never "veído".
Two adverbs supercharge the pluscuamperfecto: ya (already) and todavía no (not yet).
Cuando llamaste, ya había salido. (When you called, I had already left.)
A los veinte años todavía no había viajado en avión. (At twenty I still hadn't flown.)
Position: ya/todavía no before había — ya había salido, not "había ya salido".
B1 storytelling combines three tenses: indefinido for events, imperfecto for background, pluscuamperfecto for what happened even earlier.
Llegué tarde a la estación. (event) Llovía mucho. (background) El tren ya había salido. (earlier past)
In stories and in the estilo indirecto (G10), the pluscuamperfecto is what the indefinido becomes one step back: "Compré pan" → Dijo que había comprado pan.
Traps for English speakers
These are the errors English speakers make most often.