We are bumping into our property limit and need to clean things up. Admittedly our data governance has been lacking for awhile and has caused us to have a lot of events/properties that showed up years ago for a bit and are no longer used.
In my naive attempt to resolve this issue I went and found all properties not seen > 2 years ago and deleted them. This does seem to have removed them from the property limit count but after digging around a bit in docs I realized there is a nuanced behavior to deleted events/properties in that they are actually ‘blocked’ as well. As such, if a ‘new’ event is sent that has a property that matches one of these deleted property it won’t be associated w/ the event or saved in Amplitude. It does seem like these properties can be undeleted to solve that but the delete behavior is a bit problematic because it creates a ‘gotcha’ that could confuse neophytes or be missed and impact our data collection. Property names are usually rather simplistic like ‘button_name’ and could actually have a significant likelihood of coming back over really long running projects. IMHO, this seems like undesired behavior but I would assume it has to do with current system storage and processing limitations.
Is there an alternative approach I can take here that will get the outcomes I want? I basically want to get under our limits by removing old unused events and properties yet allow them to become available again automatically if they are sent by one of our systems in the future.
There is this time to live (ttl) concept. Does that expiration remove old events and properties when the expiration hits?
There is also transformations concept but does doing that reduce property counts? I also don’t know if really helps us here w/ our desired outcomes either.
I did see someone mention a dump, transform, and reload into a different project could be an option but that pain is probably worse than dealing w/ the delete behavior.