You can not only specify what relationships to ALWAYS load with the model, but you can do it dynamically, in the constructor method:
1class ProductTag extends Model 2{ 3 protected $with = ['product']; 4 5 public function __construct() { 6 parent::__construct(); 7 $this->with = ['product']; 8 9 if (auth()->check()) {10 $this->with[] = 'user';11 }12 }13}