You store meta-data that describes what to expect before you store actual data.
The reason for that is that from the description in the meta-data you can choose the most efficient way to process the actual data.
So store a description first, then store the payload.
If you store meta-data at the end of the actual data you can not apply such a pattern.
You will have to read out all data and after that decide how to compute. That is not a very smart way to compute

That is a pretty generic design pattern or even design principle:
Store meta-data before the actual data itself.