Stop Wordpress from Filtering my HTML

Wordpress is awesome. Except for one thing. And if I can not figure this one out, then I can not use Wordpress for this site.

I’m adding Amazon affiliate ads in the middle of my post. I pasted the code snippet (which contains iframe) into the post. But when I switch between the HTML and the Visual tab in the editor, it strips them out.

I’ve tried using the “Raw HTML” plugin, but Wordpress still strips them when I go and re-edit the post.

I need to be able to add my own HTML in middle of the post – for certain posts. For other posts, I still like to use the Visual Editor with its toolbar button.

Is there a solution? Hopefully one where I can turn on and off on a per-post basis.

Shortcodes might do the trick here.