Because of security reasons, by default cookies are accessible only on the same domain from which they were set.
For example, if you have set a cookie on domain example.com, you cannot get it on domain www.example.com.
So if you're planning to use subdomains (i.e. admin.example.com, profile.example.com), you need to set domain
explicitly:
$cookie = new Cookie([
'name' => 'cookie_monster',
'value' => 'Me want cookie everywhere!',
'expire' => time() + 86400 * 365,
'domain' => '.example.com' // <<<=== HERE
]);
\Yii::$app->getResponse()->getCookies()->add($cookie);
Now cookie can be read from all subdomains of example.com.