If you post a code snippet, ALWAYS USE CODE TAGS:
How to use code tags: Using code tags properly
Also, don’t add silly polls. That’s not useful.
You may see four printouts but are those even different ads? Print out the ad units that are given to the callback and find out.
Keep in mind that advertising software is dreadfully poorly written code, often maintained and mangled endlessly by the newest guy at the company or else the intern.
Multiple or missing callbacks are extremely common.
Integrating advertising imposes a constant and ceaseless tinkering cost on your project as the advertising services back ends change or misbehave and then break the software in your client app again and again.