there is 'almost' no impact on your program. There's some but it's so minimal that you probably wouldn't even notice it. When you pass in "", it allocates a new string object on the heap so at some point garbage collector will have to find it and free it, which I'm sure it will relatively fast.
Since you are not using the user data param, just pass in null. Perfectly valid and saves those few CPU cycles (both for the call and for the garbage collection)
EDIT: As others have corrected me, there really almost pretty much no impact whatsoever passing a string instead of a null. However you will still save few CPU cycles if you pass in null. Passing in "" does generate one extra assembly instruction (at least on the calling side) that in your case would serve no purpose
Also note I only verified that in debug build and release could be optimized so there's no difference at all. I'm sure someone will correct me if that's the case :)