A bit late to the party but our app does exactly what you described ![]()
You can set up different promotions for Instagram Facebook and Twitter where the customer needs to tag your business and add a specific tag you configure.
it can auto generate unique codes per share or you can set one static discount code to be sent. Furthermore you can approve on a per post basis or have it auto send for each matching post.
Furthermore with the posts from customers you will be able to create galleries on product collection or blog pages