It depends.
Do you need to be able to tell if the value is missing (is it possible for it to not be defined)?
Is the empty string a valid value for the usage of that string?
If you answered "yes" to both, then you'll want to use null. Otherwise you can't tell the difference between "no value" and "empty string".
If you don't need to know if there's no value then the empty string is probably safer, as it allows you to skip null checks wherever you use it.