Well Rallye get no money from spectators, but spectators have to eat, sleep,...so they spend a lot of money for that. That's how Alsace county gets 18,7 millions Euro from french rally in 2012 which is 20 times the money they have invested (this rally was sponsored by local partners including the county itself).
This is the system that Paul Ricard and its country wanna impliment to have teh French GP. You aren't really making money with motorsport related event but having 390,000 spectator for a rally (a lot less in F1 and 250,000 for Le Mans) makes local industry works really well. Le Mans "GDP" is made mainly during Le Mans 24 hours week and french rally is really helpful for Alsace.