Yesterday I answered my own question but I did not receive the corresponding hat.
I also undeleted a question but did not get the corresponding hat.
What could be the problem?
Ok I figured it out, I have to ask and answer my question during Winterbash.
To get the Sockpuppet badge, you must both ask and answer the question during WinterBash.