You can not only specify what relationships to ALWAYS load with the model, but you can do it dynamically, in the constructor method:
class ProductTag extends Model{    protected $with = ['product'];     public function __construct() {        parent::__construct();        $this->with = ['product'];         if (auth()->check()) {            $this->with[] = 'user';        }    }}