Site A


This demo walks you through how partitioned cookies work. For more details follow the demo walkthrough.

Site A embeds two iframes, one from Site B and one from Site C.

  • Site B uses JavaScript to set two cookies: a partitioned and an unpartitioned cookie.
  • Site C sets the same cookies using HTTP headers.

If third-party cookies are blocked you will only see one cookie in each iframe respectively:

  • __Site-B-partitioned-cookie=123
  • __Site-C-partitioned-cookie=set-in-headers-1

If third-party cookies are allowed you will see two cookies in each iframe respectively:

  • __Site-B-partitioned-cookie=123 and Site-B-unpartitioned-cookie=456;
  • __Site-C-partitioned-cookie=set-in-headers-1 and Site-C-unpartitioned-cookie=set-in-headers-2

Test the behavior with third-party cookies blocked

  1. Use Chrome 118 or higher.
  2. Set the chrome://flags/#test-third-party-cookie-phaseout flag and restart Chrome.
  3. When you load this page, you should only see one cookie in the Site B and Site C iframe.
    • __Site-B-partitioned-cookie=123
    • __Site-C-partitioned-cookie=set-in-headers-1
  4. Click Go to Site B
  5. When you are on Site B the unpartitioned cookie is not in a third-party context so it's not blocked and you will see two cookies:
    • __Site-B-unpartitioned-cookie=456;
    • __Site-B-partitioned-cookie=123.
  6. Click Go to Site C
  7. When you are on Site C the unpartitioned cookie is not in a third-party context so it's not blocked and you will see two cookies:
    • __Site-C-unpartitioned-cookie=set-in-headers-2;
    • __Site-C-partitioned-cookie=set-in-headers-1.

Clear cookies

To reset the demo, clear all cookies for the sites:
  1. In Application > Storage > Cookies >
  2. Right click on https://chips-site-B.glitch.me
  3. Click Clear
  4. Right click on https://chips-site-C.glitch.me
  5. Click Clear