For what it's worth, I don't use Adobe's data layer... when I started with Launch, the Adobe Data Layer didn't exist.. .so we came up with our own solution...
But on top of that, I am not a big fan of "event based" data layers.... I don't like the number of "links in the chain" that some actions have to go through:
- User clicks on element
- Click is detected then writes information to the data layer
- Launch then has to listen for the Data Layer Change
- Then read the information from the Data Layer
- The send the tracking call
All before the user is taken away from the page...While I don't have many click actions now (I prefer to use Activity Map for most items), this type of tracking is still needed, I would rather just have data attributes on the element that I can read directly on the click.
On top of the above, if your site is an SPA (single page application), the Data Layer will keep growing with each new addition.. so now you have to build in a data layer purge to keep it manageable....
While it's nice that Adobe does provide a solution out of the box... I don't see any problem sticking with your own solution....if it meets your needs, and prevents you having to do a lot of re-work (and learning a new Data Layer structure) then keep it...
Can I guarantee that it won't have a problem in the future and need to be redone? No...
Can I guarantee that using Adobe's Data Layer won't also have issues that require it to be redone in the future? Also No....
As technology changes, there will always be the possibility that tagging will need to be redone.... We've seen it before... (s_code > appMeasurement > DTM > Launch, etc)