@Ross's comment is key here.
You need to decide who your customers are going to be. Is it Google, or the people listing courses, or the people who visit the site.
Currently your customer is Google, and what you make will be limited by how popular the Google Adwords categories are that you attract. Obviously this isn't enough at the moment and presents a high risk (single customer, variable keyword values) for the future. Companies offering courses seems a better bet.
If you are just listing courses, you may have a problem convincing the companies listing courses of value. Are you sending them enough worthwhile traffic for them to pay you money? This will depend upon the quality of traffic you attract, and whether the listing companies are able to identify that traffic.
You could push more into the signing-up process (the value of who has signed up and paid for a course is hard to dispute). See www.eventbrite.com for a company doing something similar. You might then be able to sell the booking process, rather than just the listing. This could be free for free courses in return for a link, which would be valuable from a SEO perspective.
You could offer listing companies annual subscriptions (as many courses as you want for $x), pay-per-click, pay-per-purchase (if that can be tracked), first N clicks free (so they can judge the quality of the traffic), first 3 months free, free for non-profits ... anything that will get companies to try the service and ensure that there are always enough listings to interest visitors.