I want to show different ads (my own ads, not any ad network's) according to the demographics of my website visitors (different age groups, different interests, purchase behavior, gender etc). I know there are companies which provide audience data, I'm looking for an easier plug and play and affordable solution.
Having looked for something similar for a number of our own clients, I feel your pain here.
You've got a couple options here depending on (1) Your level of Wordpress Development Experience and (2) Your budget to provide those features.
For our agency, we use the Hubspot Platform to deliver "Smart Content" Call-to-Actions which change depending on a website visitor's current lifecycle stage in our sales process and allow us to target any metric we'd like to track through automation. These can then be embedded in a Wordpress site.
If you're looking for a Wordpress-Only solution, I'd suggest starting with the LeadIn Plugin: https://github.com/wp-plugins/leadin. This plugin (also developed by a team inside Hubspot) will track and create profiles for any website user who interacts with a form and let you track their behavior across the site. Tie this information in your database along with the ads you want to display, and you could roll your own affordable solution with a little PHP help. LeadIn also ties into MailChimp which could allow you to do email marketing automation at the same time.
Happy to chat further if I can help provide further detail about either solution!
Continuing on what Michael said...
I'm not aware of a ready solution that will do all that you want.. Though it is the line of development we have for our own WordPress plugin - Icegram - http://www.icegram.com.
Icegram shows different ads / call to actions / lead capture forms to users. And includes flexible targeting rules. You can actually create your own plugin that adds more targeting rules. So you can extend Icegram to support targeting by demographics you mentioned.
Icegram is free. With paid addons. You may want to give it a try.
Unless you develop your own tool, which can be quite expensive, you're probably going to want to use an SaaS tool that allows you to set filters and triggers and display the appropriate content. These all cost money - but some will charge a lower up front cost and operate off a commission.