I head up analytics, biz dev, and monetization at PicCollage, a top 10 app in Photo category. I joined 25M installs, its now at 85M installs. I grew revenues 800%.
I've used this way back in the day (the company became OpenX)
I assume by 'do not want to use a 3rd party' you mean SaaS options hosted by someone else like using 'house ads' on AdMob.
Feel free to set up a call with me. I've helped monetize PicCollage (top 25 on iOS this past holiday season). I've done brand sponsor deals with big brands as well.
1) start lead scoring and ROI tracking by source (agency, campaign)
2) work with more than one agency to make them compete
3) explore agencies that will help you build an in-house team
I could ping my network if you want referrals on agencies
With the constraints you've stated, I'd suggest doing a kickstarter/indiegogo. That way you can be first to sales at least and you can validate your value proposition and positioning. Being first to sales means you've captured some people. If they only have budget to buy one product and your product takes up that whole budget, then you've locked out competitors from getting that customer.
Feel free to schedule a call with me. I used to work at the McKenna Group, the company where the book Crossing The Chasm was written (before Geoffrey Moore went off to create his own consulting firm)
I'd start by mapping out all the options and seeing what they cost you in time and money (eg: are you techical enough to code this up in your sleep, or is it easier for you to pay someone).
1) like Shaun said. map it using https://www.mapcustomizer.com/ or http://mapjam.com/
2) getting a quote on https://www.upwork.com/ for a human to do it for one city first to see the ROI.
3) plug in a street address of a store into yelp as 'near' field and type in opthamologist.
After testing each one for one city, you can decide if you want to automate it or just scale the option up.
Feel free to schedule a call with me.