Ads in print have a fixed cost, based on the size of the ad. But even printed ads target specific demographics. How many over 40 brides are there compared to 20-30 years old, that would read a wedding magazine is an extreme example of it.
Ads on TV have fixed cost, depending on the length of the commercial and the time it is aired. But even on TV you would target the show based on the demographics you prefer.
Ads on Facebook are pay per impression, so how can you make companies pay to show those ads to people who they know will probably not respond anyway?