I’m confused about self-described events and custom context. They should be totally different things as for me, but the look like very similar idea.
Custom context, as for me, is additional fields that you want to attach to standart event, you have provide JSON schema, create table in Redshift, and result data will be placed in events table + custom table for additional fields.
Self-described event is not standard event that is coming with JSON schema also, you have also provide custom Redshift table for its values and as fat as I understand it will be still coming with lot standart values, so it will be stored in events table + custom table also.
So looks like the different will be in value of field ‘event’ in events table and how the called from JS tracker, all the rest technical items will be the same. With self-described event you are still extending standard set of fields, but save it with different value in field ‘event’, am I correct?
I have found outdated intro for unstructured events: https://snowplowanalytics.com/blog/2013/05/14/snowplow-unstructured-events-guide/ From very begining it looks like mixpanel free type events, very easy to, but now as far as I understand it can not be used without JSON schema. So unstructured events (self-decribed event) are very similar to custom context now.