Cookie-Aware Page Cache module extends Drupal core's default database cache to key page cache entries by cookie in addition to URL.
You may need this if you are preparing different markup for pages depending on the value of a user's browser cookie, and the default database cache is the only caching mechanism available to you. For example, you may be displaying local information on a user's favorite store location, which is kept in a cookie. Or you might be using Context Breakpoint module, which uses a cookie to pass information about the user's screen size to use as a condition in the Context system.
You can specify more than one cookie to take into account when querying the page cache. However, you should only select cookies with limited sets of possible values. The performance benefits of page caching decrease as the number of possible cookie value combinations increases.