In the case that it's necessary to allow visitors to switch back and forth between accept/decline cookies and resources, the page caching could be a big problem if the same cache is used inconditionally indeed it could prevent the dynamic switching of contents.
The solution is to use the standard Joomla! System - Page Cache plugin that has a feature to separate each cache based on cookie preferences. To enable this feature, it's enough to choose the following option under the GDPR configuration:
As an alternative you can switch to a third-party caching solution such as JotCache. JotCache can play well with GDPR and they can be configured to cooperate and maintain a well performing website.
All you have to do is to open to the JotCache plugin configuration, go to the “Advanced” tab and enter “#cookieconsent_status” into the “Cookies split” field.
To allow JotCache to split up the cache based on this information, it's required to enter the name of each session variable into the “Session Variables Split“ field:
The full list of session variables used by the GDPR component is:
After this, you have to fully disable the Joomla! System - Page Cache plugin and set to 'No' the "Automatic cache management" parameter inside the GDPR component configuration.
This will result in separate cache files for users that allow Cookies and for users who do not allow them, without GDPR purging the cache of a page when accessed with different Cookie settings.