Most ordinary air fresheners are, IMO, worthless. I did find one product that not only smells good but the fragrances last a long time. They are called Scentiscles, and you can Google it and find sources. They arent cheap but are worth the money.
If your home has a bad odor, the first thing to do is find out WHY. Just masking a bad smell with fragrance does not solve the problem - just hides it for a while. The obvious sources are pets, smoking, mold, and certain cooking odors. Once you know the source, you can correct the problem a lot better. And of course, keeping your home very clean will always help. This is why I use certain products for cleaning. They have to work well, AND smell great.