{"id":42205,"date":"2025-01-23T02:26:58","date_gmt":"2025-01-23T02:26:58","guid":{"rendered":"https:\/\/peraltafinancing.com\/analytics\/consent-mode-v2-for-google-tags\/"},"modified":"2025-01-23T02:26:58","modified_gmt":"2025-01-23T02:26:58","slug":"consent-mode-v2-for-google-tags","status":"publish","type":"post","link":"https:\/\/fivemor.com\/?p=42205","title":{"rendered":"Consent Mode V2 For Google Tags"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<blockquote>\n<p>**Last updated March 7, 2024. Clarified that you do NOT need to resend hits when consent is granted, if those hits were collected on the same page when consent was denied.<\/p>\n<\/blockquote>\n<p>Google\u2019s <a href=\"https:\/\/support.google.com\/google-ads\/answer\/10000067?hl=en\">Consent Mode<\/a> continues to be a hot topic, especially since in 2024 <a href=\"https:\/\/support.google.com\/tagmanager\/answer\/13695607?hl=en\">it will be <strong>required<\/strong><\/a> to implement Consent Mode in case a website or app is collecting data for audience building or remarketing with Google\u2019s advertising services.<\/p>\n<p>I\u2019ve discussed <a href=\"https:\/\/www.simoahava.com\/analytics\/consent-mode-google-tags\/\">consent mode before<\/a>, and I\u2019ve also built a <a href=\"https:\/\/www.simoahava.com\/custom-templates\/consent-mode\/\">Google Tag Manager community gallery template<\/a> for managing Consent Mode on a website.<\/p>\n<p>With V2, the biggest updates are <strong>two<\/strong> new consent signals, <code>ad_user_data<\/code> and <code>ad_personalization<\/code>, as well as a revamped URL schema for passing consent states to Google\u2019s services.<\/p>\n<p>This article is a <strong>guest post<\/strong> by <a href=\"https:\/\/www.linkedin.com\/in\/markusbaersch\/\">Markus Baersch<\/a>, who authored an <a href=\"https:\/\/www.markus-baersch.de\/blog\/consent-mode-2-0-faq\/\">excellent Consent Mode FAQ<\/a> in his native language of German.<\/p>\n<p>In this text, we\u2019ll revisit the FAQ in English, and we\u2019ll make sure it\u2019s up-to-date with all you need to know about Consent Mode \u2013\u00a0especially V2.<\/p>\n<p>                <span class=\"simmer\"><br \/>\n  <span class=\"close\">X<\/span><\/p>\n<p>\n    <span class=\"fa fa-md fa-bell\"\/><br \/>\n    <strong>The Simmer Newsletter<\/strong>\n  <\/p>\n<p>\n    Subscribe to the <a href=\"https:\/\/www.simoahava.com\/newsletter\/\">Simmer newsletter<\/a> to get the latest news and content from Simo Ahava into your email inbox!\n  <\/p>\n<p>  <\/span><\/p>\n<h2 id=\"what-does-consent-mode-do\">What does Consent Mode do?<\/h2>\n<p><a href=\"https:\/\/support.google.com\/google-ads\/answer\/10000067?hl=em\">Consent Mode<\/a> is <em>primarily<\/em> about collecting additional signals from users who did <em>not<\/em> grant consent for having their personal data or browser storage accessed for data collection. These signals are then used by Google to <strong>model<\/strong> conversions (Google Ads, Floodlight, etc.) and visitor behavior (Google Analytics 4).<\/p>\n<blockquote>\n<p>This article is a technical overview so we\u2019ll gloss over the ethical and legal questions regarding data collection from unconsenting users. See the Summary chapter for some of Simo Ahava\u2019s thoughts on the topic.<\/p>\n<\/blockquote>\n<p>This method of collecting analytics and advertising pings from unconsenting users is based on the logic of avoiding access to browser storage. This way, cookies containing personal data (such as online identifiers) will not be accessed by Google\u2019s services, and random, ephemeral identifiers are used instead.<\/p>\n<p>Unconsented data isn\u2019t surfaced in Google\u2019s reports directly \u2013\u00a0instead, it goes through a <a href=\"https:\/\/support.google.com\/analytics\/answer\/11161109?hl=en\"><em>modeling<\/em> process<\/a> where it\u2019s shaped and molded to look like the real thing (data collected from consenting users).<\/p>\n<h2 id=\"whats-new-in-consent-mode-v2\">What\u2019s new in Consent Mode V2?<\/h2>\n<p>In V2, the original Consent Mode signals (<code>ad_storage<\/code> for advertising cookies and <code>analytics_storage<\/code> for analytics cookies) are complemented by two additional signals:<\/p>\n<ul>\n<li><code>ad_user_data<\/code>: does the user consent to their personal data being used for advertising purposes?<\/li>\n<li><code>ad_personalization<\/code>: does the user consent to their data being used for remarketing?<\/li>\n<\/ul>\n<div style=\"aspect-ratio: 1710 \/ 582;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2024\/01\/consent-types.jpg\" title=\"Consent Types\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"582\" width=\"1710\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2024\/01\/consent-types.jpg#ZgotmplZ\" alt=\"Consent Types\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>Unlike <code>ad_storage<\/code> and <code>analytics_storage<\/code>, these flags don\u2019t have a functional impact on how the tags behave on the site itself. They are additional parameters sent with the pings to Google services, designed to instruct these services on how user data can be used for advertising.<\/p>\n<p>So while <code>ad_storage<\/code> and <code>analytics_storage<\/code> are <em>upstream<\/em> qualifiers for data (as they control which identifiers are sent with the pings), <code>ad_user_data<\/code> and <code>ad_personalization<\/code> are <em>downstream<\/em> instructions for Google services on how to process the data.<\/p>\n<blockquote>\n<p>Consent Mode has additional, more advanced settings like <a href=\"https:\/\/developers.google.com\/tag-platform\/security\/guides\/consent#redact_ads_data\"><code>ads_data_redaction<\/code><\/a>, which prevents the passing of any click identifiers or third-party cookie decorations on the advertising streams. Additionally, there are settings like <a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/ga4\/reference\/config#allow_ad_personalization_signals\"><code>allow_ad_personalization_signals<\/code><\/a> that also govern what type of data Google\u2019s advertising services can access. <strong>If there is a conflict between these settings and Consent Mode<\/strong>, the \u201cstrictest\u201d setting wins in favor of data protection.<\/p>\n<\/blockquote>\n<h2 id=\"advanced-vs-basic-mode\">Advanced vs. Basic Mode<\/h2>\n<p>Consent Mode V2 also introduced the concepts of <strong>Advanced Consent Mode<\/strong> and <strong>Basic Consent Mode<\/strong>.<\/p>\n<p>Technically, these are not new things. <strong>Advanced Consent Mode<\/strong> is Consent Mode as we know it (and as Google wants us to use it). It means collecting pings of data from users who did not grant consent.<\/p>\n<p><strong>Basic Consent Mode<\/strong> means that Consent Mode is active on the page (or app), but Google\u2019s tags are <em>prevented from loading and collecting data<\/em> until consent is granted.<\/p>\n<p>In other words:<\/p>\n<ul>\n<li><strong>No Consent Mode<\/strong>: Consent Mode is not implemented on the page at all. All data collected to Google services is assumed to have consent from the user.<\/li>\n<li><strong>Basic Consent Mode<\/strong>: Consent Mode has been implemented, but data is collected only if the user grants consent.<\/li>\n<li><strong>Advanced Consent Mode<\/strong>: Consent Mode has been implemented, and data is collected from users when they grant consent <em>and<\/em> when they deny consent.<\/li>\n<\/ul>\n<p>Which mode you choose has implications on the quality of modeling (<a href=\"https:\/\/support.google.com\/analytics\/answer\/9976101?hl=en\">source<\/a>):<\/p>\n<div style=\"aspect-ratio: 1454 \/ 1342;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2024\/01\/consent-mode-comparison.jpg\" title=\"Consent Mode comparison\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"1342\" width=\"1454\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2024\/01\/consent-mode-comparison.jpg#ZgotmplZ\" alt=\"Consent Mode comparison\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>And that\u2019s really the main question. How much do you value getting that modeled data? Is it worth collecting data from users who do not grant consent to Google\u2019s services?<\/p>\n<h3 id=\"basic-consent-mode\">Basic Consent Mode<\/h3>\n<p>There has been some confusion about how Basic Consent Mode \u201cworks\u201d.<\/p>\n<p>It\u2019s really quite unexciting. You implement Consent Mode on the site so that tags send the consent signals to Google\u2019s services. However, you <strong>block<\/strong> tags from firing if consent <strong>has not been granted<\/strong>. In other words, you <em>only<\/em> send \u201cconsent granted\u201d signals to Google, and Google will assume that no data has been collected from users who did not grant consent.<\/p>\n<p>At the time of writing, this manual work is still <em>yours<\/em> to do. There is no magical \u201cBasic Consent Mode\u201d switch that automatically configures Google\u2019s tags appropriately.<\/p>\n<h3 id=\"google-tag-managers-consent-settings\">Google Tag Manager\u2019s Consent Settings<\/h3>\n<p>Google Tag Manager has a <a href=\"https:\/\/www.simoahava.com\/analytics\/consent-settings-google-tag-manager\/\">consent settings interface<\/a> for managing consent settings in your tags.<\/p>\n<div style=\"aspect-ratio: 1130 \/ 792;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2024\/01\/advanced-consent-checks.jpg\" title=\"Advanced Consent Checks\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"792\" width=\"1130\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2024\/01\/advanced-consent-checks.jpg#ZgotmplZ\" alt=\"Advanced Consent Checks\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p><strong>Built-in Consent Checks<\/strong> lists all the consent states that the <em>tag template code accesses<\/em>. It is solely an indicator that the template accesses consent state in its code. What it does with this consent state depends on the tag template.<\/p>\n<p><strong>Additional Consent Checks<\/strong> lists all the consent states that need a <code>granted<\/code> status <strong>for the tag to fire<\/strong>. When the tag\u2019s trigger goes off, if any of the listed consent states has the <code>denied<\/code> status, the tag <strong>will not fire<\/strong>.<\/p>\n<p>These are solely Google Tag Manager settings. They have no analogy in <code>gtag<\/code> or Consent Mode itself. For example, even though Google Analytics 4 tags are sensitive to all four Consent Mode signals, they have Built-in Consent Checks only for <code>analytics_storage<\/code> and <code>ad_storage<\/code>. Why? Because those are the only consent states that actually alter how the <em>tag code works<\/em>. <code>ad_user_data<\/code> and <code>ad_personalization<\/code> are URL flags that are automatically added to the GA4 requests \u2013 the GA4 event tag does not need to interact with these states.<\/p>\n<h2 id=\"do-i-need-to-manually-resend-hits-when-consent-is-granted-when-using-google-analytics-4\">Do I need to manually resend hits when consent is granted, when using Google Analytics 4?<\/h2>\n<p>If consent is <em>granted<\/em>, then any hits collected on the same page while consent was <em>denied<\/em> will get automatically <strong>reprocessed<\/strong> to have the granted status.<\/p>\n<p>This applies only to Advanced Consent Mode, of course, because that\u2019s the only way of sending hits when consent is <em>denied<\/em>. With Basic Mode, you will need to start data collection manually when consent is granted.<\/p>\n<p>Note that this only applies to hits <em>collected on the same page<\/em>. Hits that happened on previous pages will not get reprocessed because Google should not be able to link them due to lack of cookie identifiers.<\/p>\n<h2 id=\"do-i-have-to-use-consent-mode-in-2024\">Do I have to use Consent Mode in 2024?<\/h2>\n<p>Maybe, especially if you operate in or your site visitors are data subjects in the European Economic Area.<\/p>\n<p>At the very least, in 2024, you\u2019ll most likely need to implement <strong>Basic Consent Mode<\/strong> for all of your Google tags. It\u2019s not necessarily a bad thing even if it requires additional tagging and implementation resources. As you\u2019re collecting data only from users who grant consent (you are, right?), Basic Consent Mode simply means that you communicate this granted state to Google\u2019s services with the collected data.<\/p>\n<p>However, if you are using Google\u2019s <strong>advertising services<\/strong> (either directly or through Google Analytics 4), Consent Mode might be <strong>mandatory<\/strong>.<\/p>\n<ul>\n<li>If you are collecting <a href=\"https:\/\/support.google.com\/analytics\/answer\/14312209?hl=en\">first-party user data<\/a>, or using the Google Ads <code>user_id<\/code>, or sharing Conversions from Google Analytics 4 to Google Ads, you must implement Consent Mode and set the <code>ad_user_data<\/code> flag.<\/li>\n<li>If you are collecting data for remarketing with Google\u2019s advertising services, you must implement Consent Mode and set the <code>ad_personalization<\/code> flag.<\/li>\n<\/ul>\n<p>As far as I know, <em>conversion tracking<\/em> does not <em>require<\/em> Consent Mode and should work fine without it. However, you will of course lose some conversion modeling benefits if you choose not to implement Consent Mode.<\/p>\n<p>If you want to or if you have to implement Consent Mode, you should do so as soon as possible. Consent Mode should be deployed as early as possible on the page or in the app render flow. Google Tag Manager for the web has a built-in trigger, <strong>Consent Initialization<\/strong>, for this.<\/p>\n<div style=\"aspect-ratio: 1794 \/ 516;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2024\/01\/consent-initialization-trigger.jpg\" title=\"Consent Initialization trigger\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"516\" width=\"1794\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2024\/01\/consent-initialization-trigger.jpg#ZgotmplZ\" alt=\"Consent Initialization trigger\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p><strong>Important<\/strong>: There is no need to change anything in your tagging setup or to start sending data without consent granted (Advanced Consent Mode)! The requirement is to implement <em>Consent Mode<\/em>, and Basic Consent Mode will do just fine. In this case, as before, you would just need to make sure that no data is collected and no tags are triggered before consent has been granted.<\/p>\n<p>In most cases, you already have a <a href=\"https:\/\/support.google.com\/analytics\/answer\/9976101?hl=en#cmp-integrations\">Consent Management Platform<\/a> in place, and enabling the new signals is just a checkbox somewhere.<\/p>\n<p>If you are running a manual implementation of Consent Mode without any fancy integrations, you can read below for more details on manual configuration.<\/p>\n<h2 id=\"what-if-consent-mode-isnt-implemented-by-march-2024\">What if Consent Mode isn\u2019t implemented by March 2024?<\/h2>\n<p>This is still unclear.<\/p>\n<p>It is likely that audience building and remarketing capabilities will be crippled if not outright disabled for the data collected from your digital properties.<\/p>\n<p>Similarly, links between Google Analytics 4 and Google\u2019s advertising services regarding the features listed above will also be non-functional.<\/p>\n<p>As mentioned before, it\u2019s still not clear if and how much <em>conversion tracking<\/em> will be impacted. As it doesn\u2019t rely on user data collection similar to audience generation and remarketing, it\u2019s likely that it will continue to work to some extent.<\/p>\n<p>In any case, if you want to use Google\u2019s analytics and advertising services, we strongly recommend putting <strong>Basic Consent Mode<\/strong> on your backlog as soon as possible.<\/p>\n<h2 id=\"does-anything-change-from-a-data-protection-perspective\">Does anything change from a data protection perspective?<\/h2>\n<blockquote>\n<p>Caveat, we are not your legal team.<\/p>\n<\/blockquote>\n<p>To keep it simple: nothing changes. Assuming you have thus far only collected data from users who have granted consent.<\/p>\n<p>The data collected from these users looks pretty much the same as before \u2013\u00a0it just has the additional \u201cconsent granted\u201d signal in place, and it can also include explicit instructions that the data can be used for Google\u2019s advertising services.<\/p>\n<p>As for \u201cAdvanced Consent Mode\u201d, its use needs to be <em>extremely<\/em> carefully deliberated with your legal team. Remember that you are collecting data from users who might not have opted into such a thing.<\/p>\n<h2 id=\"how-do-i-check-if-consent-mode-is-active\">How do I check if Consent Mode is active?<\/h2>\n<p>When Consent Mode is active, either in Basic or Advanced Mode, there are additional parameters sent with each analytics and advertising request to Google\u2019s services.<\/p>\n<p>You can use Google\u2019s <a href=\"https:\/\/support.google.com\/analytics\/answer\/9976101?hl=en#cmp-integrations\">Tag Assistant<\/a>, the <strong>Network<\/strong> tab of your browser\u2019s developer tools, or a <a href=\"https:\/\/chromewebstore.google.com\/detail\/google-analytics-debugger\/jnkmfdileelhofjcijamephohjechhna?pli=1\">browser extension<\/a>.<\/p>\n<p>For the original version of consent mode, if you\u2019re looking at the network requests, the parameter you\u2019re looking for is called <code>&amp;gcs<\/code>, and it has a value in the following format: <code>G1xy<\/code>.<\/p>\n<p><code>x<\/code> stands for consent to Google Ads cookies and is either <code>1<\/code> (granted) or <code>0<\/code> (denied).<\/p>\n<p><code>y<\/code> stands for consent to Google Analytics cookies and is either <code>1<\/code> (granted) or <code>0<\/code> (denied).<\/p>\n<p>Possible values are thus:<\/p>\n<table>\n<thead>\n<tr>\n<th>Value<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>G100<\/code><\/td>\n<td>No consent has been granted.<\/td>\n<\/tr>\n<tr>\n<td><code>G110<\/code><\/td>\n<td>Google Ads has consent, Google Analytics does not.<\/td>\n<\/tr>\n<tr>\n<td><code>G101<\/code><\/td>\n<td>Google Analytics has consent, Google Ads does not.<\/td>\n<\/tr>\n<tr>\n<td><code>G111<\/code><\/td>\n<td>Both Google Ads and Google Analytics have consent.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote>\n<p>Note that <code>G100<\/code> is only possible in \u201cAdvanced Consent Mode\u201d.<\/p>\n<\/blockquote>\n<p>With Consent Mode V2, the additional <code>gcd<\/code> parameter can be found in all requests, and you can read more about its composition <a href=\"#consent-mode-v2-signals\">below<\/a>.<\/p>\n<h3 id=\"how-do-i-read-network-requests\">How do I read network requests?<\/h3>\n<p>If you debug network requests, you can simply filter for <code>gcs<\/code> to find all requests that have this parameter. This would include both Google Analytics and Google Ads requests.<\/p>\n<p>Clicking on the request, you can then scroll to the request payload parameters to find the value of <code>gcs<\/code> in the list:<\/p>\n<div style=\"aspect-ratio: 2426 \/ 628;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2024\/01\/gcs-in-network-tab.jpg\" title=\"GCS in network tab\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"628\" width=\"2426\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2024\/01\/gcs-in-network-tab.jpg#ZgotmplZ\" alt=\"GCS in network tab\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>You\u2019ll notice that there is another setting here, too: <code>gcd<\/code>. More on this <a href=\"#consent-mode-v2-signals\">below<\/a>.<\/p>\n<h3 id=\"how-do-i-use-tag-assistant\">How do I use Tag Assistant?<\/h3>\n<p>If you go to <a href=\"https:\/\/tagassistant.google.com\/,\">https:\/\/tagassistant.google.com\/,<\/a> you can debug the consent states for any sites running Google Tags.<\/p>\n<p>After adding the domain that you want to debug, you can choose a Tag ID from the top of Tag Assistant, then choose an event from the navigation on the left, and finally select the \u201cConsent\u201d tab to see what the state of different consent signals was at the time of the event.<\/p>\n<div style=\"aspect-ratio: 2340 \/ 1284;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2024\/01\/tag-assistant-consent.jpg\" title=\"Tag assistant consent mode\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"1284\" width=\"2340\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2024\/01\/tag-assistant-consent.jpg#ZgotmplZ\" alt=\"Tag assistant consent mode\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>If you see a warning that \u201ca tag read consent before a default was set\u201d, it means you have a <em>race condition<\/em> where your consent states are not established in time before any tags that reference them have time to fire.<\/p>\n<h2 id=\"consent-mode-v2-signals\">Consent Mode V2 signals<\/h2>\n<blockquote>\n<p>Please note that these are <strong>internal<\/strong> parameters used by Google. Their values can change without warning, and trying to overinterpret how Consent Mode is encoded in URL parameters can be an exercise in futility. I really recommend using <strong>Tag Assistant<\/strong> to debug consent states.<\/p>\n<\/blockquote>\n<p>The <code>gcs<\/code> parameter is solely for <code>ad_storage<\/code> and <code>analytics_storage<\/code>. For the new signals and for Consent Mode V2 in general, there is an additional URL parameter, <code>gcd<\/code>, that you\u2019ll need to interpret.<\/p>\n<p><code>gcd<\/code> is included in <em>all<\/em> hits to Google services, even if Consent Mode isn\u2019t active.<\/p>\n<p>It encodes values for all four consent signals (<code>ad_storage<\/code>, <code>analytics_storage<\/code>, <code>ad_user_data<\/code>, and <code>ad_personalization<\/code>), and it includes information how the consent signal was generated.<\/p>\n<p>The format of the string might be something like this:<\/p>\n<p><code>&amp;gcd=11<ad_storage>1<analytics_storage>1<ad_user_data>1<ad_personalization>5<\/ad_personalization><\/ad_user_data><\/analytics_storage><\/ad_storage><\/code><\/p>\n<p>The string starts with <code>11<\/code>, uses <code>1<\/code> (or some other number) to separate the different consent signals, and ends with a number like <code>5<\/code> (or sometimes something else) to mark the end.<\/p>\n<p>As for the possible values for the signals, here\u2019s the table as we currently know it:<\/p>\n<table>\n<thead>\n<tr>\n<th>Letter<\/th>\n<th>Description<\/th>\n<th>Example<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>l<\/code><\/td>\n<td>The lowercase L means that the signal has not been set with Consent Mode.<\/td>\n<td><code>11l1p1l1l5<\/code> (Only <code>analytics_storage<\/code> has been denied by default).<\/td>\n<\/tr>\n<tr>\n<td><code>p<\/code><\/td>\n<td><code>denied<\/code> by default (no update).<\/td>\n<td><code>11p1p1p1p5<\/code> (all consent states are denied by default).<\/td>\n<\/tr>\n<tr>\n<td><code>q<\/code><\/td>\n<td><code>denied<\/code> both by default and after update.<\/td>\n<td><code>11p1q1p1p5<\/code> (the user updated their consent choice to set <code>analytics_storage<\/code> to denied after it was already set to denied by default).<\/td>\n<\/tr>\n<tr>\n<td><code>t<\/code><\/td>\n<td><code>granted<\/code> by default (no update).<\/td>\n<td><code>11t1t1t1t5<\/code> (all consent states are granted by default).<\/td>\n<\/tr>\n<tr>\n<td><code>r<\/code><\/td>\n<td><code>denied<\/code> by default and <code>granted<\/code> after update.<\/td>\n<td><code>11r1r1r1r5<\/code> (the user grants consent to all services after they were first denied by default).<\/td>\n<\/tr>\n<tr>\n<td><code>m<\/code><\/td>\n<td><code>denied<\/code> after update (no default).<\/td>\n<td><code>11p1m1p1p5<\/code> (all other states were denied by default, but <code>analytics_storage<\/code> was only set after the user denied it).<\/td>\n<\/tr>\n<tr>\n<td><code>n<\/code><\/td>\n<td><code>granted<\/code> after update (no default).<\/td>\n<td><code>11n1n1n1n5<\/code> (the site did not set a default consent state and instead set all states to granted after the user chose so).<\/td>\n<\/tr>\n<tr>\n<td><code>u<\/code><\/td>\n<td><code>granted<\/code> by default and <code>denied<\/code> after update.<\/td>\n<td><code>11u1u1u1u5<\/code> (the user withdrew all consents after they were set to granted by default).<\/td>\n<\/tr>\n<tr>\n<td><code>v<\/code><\/td>\n<td><code>granted<\/code> both by default and after update.<\/td>\n<td><code>11v1v1v1v5<\/code> (all states were granted by default and by user confirmation).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote>\n<p>If you are confused about \u201cdefault\u201d and \u201cupdate\u201d, check <a href=\"https:\/\/www.simoahava.com\/analytics\/consent-mode-google-tags\/#the-gtag-call\">this article<\/a> for more information on the two different commands for interacting with Consent Mode.<\/p>\n<\/blockquote>\n<p>These letters are obscure and they might change in the future. Google obviously doesn\u2019t intend for you to debug Consent Mode by looking at URL requests. Instead, the preferred way is with Tag Assistant, but sometimes (especially if you\u2019re shuffling the data in your own services, too), understanding the URL parameter schema can be helpful.<\/p>\n<p>Consent Mode is a Google invention. The idea of collecting data from unconsenting users and using it for modeling is all Google.<\/p>\n<p>Other tags and services can theoretically make use of these flags, too. In Google Tag Manager, for example, you can create custom templates that react to any of the given consent states, even custom ones that you label yourself! But this isn\u2019t \u201cConsent Mode\u201d &#8211; it\u2019s just building tech around the flags and parameters that Google uses <em>for<\/em> Consent Mode.<\/p>\n<p>Interestingly, it looks like Microsoft is parroting Google\u2019s idea with <a href=\"https:\/\/help.ads.microsoft.com\/apex\/index\/3\/en\/60119\">their own Consent Mode<\/a> implementation that bears striking similarities to Google\u2019s.<\/p>\n<h2 id=\"manual-configuration\">Manual configuration<\/h2>\n<p>If your <a href=\"https:\/\/support.google.com\/analytics\/answer\/9976101?hl=en#cmp-integrations\">CMP doesn\u2019t support a Consent Mode integration<\/a>, or if you want to set everything up manually, you can certainly do so.<\/p>\n<p>If you use Google Tag Manager, you can use <a href=\"https:\/\/www.simoahava.com\/custom-templates\/consent-mode\/\">my custom tag template<\/a> to establish consent states for both \u201cdefault\u201d and \u201cupdate\u201d commands.<\/p>\n<p>The \u201cdefault\u201d command should be set to fire on the Consent Initialization trigger so that the default state is established before any other tags fire.<\/p>\n<p>Once you know the user\u2019s consent preferences, you can fire the tag with the \u201cupdate\u201d command.<\/p>\n<div style=\"aspect-ratio: 1782 \/ 1804;\" class=\"figure nocaption\">\n<p>    <a href=\"https:\/\/www.simoahava.com\/images\/2024\/01\/set-default-gtm.jpg\" title=\"Set default in GTM\"><\/p>\n<p>    <img decoding=\"async\" class=\"fig-img\" height=\"1804\" width=\"1782\" loading=\"lazy\" src=\"https:\/\/www.simoahava.com\/images\/2024\/01\/set-default-gtm.jpg#ZgotmplZ\" alt=\"Set default in GTM\"\/><\/p>\n<p>    <\/a><\/p>\n<\/div>\n<p>If you\u2019re not using GTM or if you want to set everything up with JavaScript, you can use the <a href=\"https:\/\/developers.google.com\/tag-platform\/security\/guides\/consent#tracking_consent_state\"><code>gtag<\/code> method<\/a> for that.<\/p>\n<div class=\"highlight\">\n<pre style=\"background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4\"><code class=\"language-javascript\" data-lang=\"javascript\"><span style=\"color:#aaa;font-style:italic\">\/\/ Set defaults\n<\/span><span style=\"color:#aaa;font-style:italic\"\/><span style=\"color:#0aa\">window<\/span>.gtag = <span style=\"color:#00a\">function<\/span>() { dataLayer.push(arguments); }\n<span style=\"color:#0aa\">window<\/span>.gtag(<span style=\"color:#a50\">'consent'<\/span>, <span style=\"color:#a50\">'default'<\/span>, {\n  ad_storage: <span style=\"color:#a50\">'denied'<\/span>,\n  analytics_storage: <span style=\"color:#a50\">'denied'<\/span>,\n  ad_user_data: <span style=\"color:#a50\">'denied'<\/span>,\n  ad_personalization: <span style=\"color:#a50\">'denied'<\/span>,\n  wait_for_update: <span style=\"color:#099\">500<\/span>\n});\n\n<span style=\"color:#aaa;font-style:italic\">\/\/ Call this function when consent is granted\n<\/span><span style=\"color:#aaa;font-style:italic\"\/><span style=\"color:#00a\">const<\/span> updateConsent = newConsentStates =&gt; {\n  <span style=\"color:#0aa\">window<\/span>.gtag(<span style=\"color:#a50\">'consent'<\/span>, <span style=\"color:#a50\">'update'<\/span>, newConsentStates);\n  writeStatesToStorage(newConsentStates);\n};\n<\/code><\/pre>\n<\/div>\n<blockquote>\n<p>The code above is just a very basic example. What matters is that the <code>default<\/code> command is called before any Google tags fire and that the <code>update<\/code> command is called as soon as the user\u2019s consent choices have been registered.<\/p>\n<\/blockquote>\n<p>Setting Consent Mode can be quite a chore, especially if you\u2019re going with manual configuration. However, it\u2019s important to get it done properly so that you don\u2019t end up with a liability. Markus Baersch has an excellent checklist for verifying the implementation here: <a href=\"https:\/\/www.markus-baersch.de\/consent-checkliste-buch\/\">https:\/\/www.markus-baersch.de\/consent-checkliste-buch\/<\/a> (German).<\/p>\n<h2 id=\"summary\">Summary<\/h2>\n<p>Consent Mode is still very tricky.<\/p>\n<p>It\u2019s risky to collect data from users who did not grant consent.<\/p>\n<p>People who are pro-Consent-Mode are trying to pull this apart by saying that users did not necessarily deny consent for \u201canonymous pings\u201d or that it\u2019s not really \u201cpersonal data\u201d under GDPR and so forth. They might be right, although the notion of \u201canonymous data\u201d with all that gets collected with a consent-denied ping is pretty ludicrous. Similarly, GDPR has an extremely wide net when it comes to personal data, so collecting things like Order IDs or User IDs from unconsenting users will almost certainly get you in trouble if you are audited for GDPR violations.<\/p>\n<p>If you collect <em>anything<\/em> from a user who did not give consent to that particular service, you are putting yourself in many flavors of jeopardy:<\/p>\n<ul>\n<li><em>Legal<\/em>, if you do not have a legal basis to collect this data beyond consent.<\/li>\n<li><em>Ethical<\/em>, if you assume that the user is OK with you collecting data from them even if they denied consent.<\/li>\n<li><em>Brand image<\/em>, if it reaches the public that you are collecting data from users who denied consent.<\/li>\n<li><em>Data security<\/em>, if you inadvertently collect sensitive information from users who did not consent.<\/li>\n<\/ul>\n<p>So collecting data from unconsenting users will always be a risk greater than that of <em>not<\/em> collecting data from unconsenting users. You need to assess this risk carefully.<\/p>\n<p>Other than that, Basic Consent Mode, where data is only collected from consenting users, seems like a no-brainer at this point. It\u2019s possible Google will simply switch it on automatically by default for all Google services.<\/p>\n<p>You\u2019ll just need to make sure that you only fire Google\u2019s tags if consent has been granted.<\/p>\n<p>Thank you so much to Mr. Markus Baersch for the groundwork he did for Consent Mode V2. It\u2019s likely Google\u2019s own documentation will catch up at some point, but even then I\u2019m sure the content of this FAQ will be useful to English readers. Be sure to check out <a href=\"https:\/\/www.markus-baersch.de\/blog\/consent-mode-2-0-faq\/\">Markus\u2019 original article in German here<\/a>, as he has more details about Consent Mode V2 that I chose to omit for brevity\u2019s sake.<\/p>\n<p>If you have questions or comments about Consent Mode V2, let me know in the comments!<\/p>\n<\/p><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>**Last updated March 7, 2024. Clarified that you do NOT need to resend hits when consent is granted, if those hits were collected on the same page when consent was denied. Google\u2019s Consent Mode continues to be a hot topic, especially since in 2024 it will be required to implement Consent Mode in case a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":42206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12033],"tags":[16490,1531,1430,1725],"dealstore":[],"offerexpiration":[],"class_list":["post-42205","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analytics","tag-consent","tag-google","tag-mode","tag-tags"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Consent Mode V2 For Google Tags - Som2ny Network<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fivemor.com\/?p=42205\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Consent Mode V2 For Google Tags - Som2ny Network\" \/>\n<meta property=\"og:description\" content=\"**Last updated March 7, 2024. Clarified that you do NOT need to resend hits when consent is granted, if those hits were collected on the same page when consent was denied. Google\u2019s Consent Mode continues to be a hot topic, especially since in 2024 it will be required to implement Consent Mode in case a [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fivemor.com\/?p=42205\" \/>\n<meta property=\"og:site_name\" content=\"Som2ny Network\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-23T02:26:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fivemor.com\/?p=42205#article\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/?p=42205\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\"},\"headline\":\"Consent Mode V2 For Google Tags\",\"datePublished\":\"2025-01-23T02:26:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=42205\"},\"wordCount\":3239,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=42205#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg\",\"keywords\":[\"Consent\",\"Google\",\"Mode\",\"TAGS\"],\"articleSection\":[\"Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fivemor.com\/?p=42205#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fivemor.com\/?p=42205\",\"url\":\"https:\/\/fivemor.com\/?p=42205\",\"name\":\"Consent Mode V2 For Google Tags - Som2ny Network\",\"isPartOf\":{\"@id\":\"https:\/\/fivemor.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fivemor.com\/?p=42205#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/?p=42205#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg\",\"datePublished\":\"2025-01-23T02:26:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fivemor.com\/?p=42205#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fivemor.com\/?p=42205\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/?p=42205#primaryimage\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fivemor.com\/?p=42205#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fivemor.com\/?bp_activities=1\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Consent Mode V2 For Google Tags\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fivemor.com\/#website\",\"url\":\"https:\/\/fivemor.com\/\",\"name\":\"Som2ny Network\",\"description\":\"Daily Deals\",\"publisher\":{\"@id\":\"https:\/\/fivemor.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fivemor.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/fivemor.com\/#organization\",\"name\":\"Som2ny Network\",\"url\":\"https:\/\/fivemor.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"contentUrl\":\"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png\",\"width\":300,\"height\":86,\"caption\":\"Som2ny Network\"},\"image\":{\"@id\":\"https:\/\/fivemor.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fivemor.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/fivemor.com\"],\"url\":\"https:\/\/fivemor.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Consent Mode V2 For Google Tags - Som2ny Network","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fivemor.com\/?p=42205","og_locale":"en_US","og_type":"article","og_title":"Consent Mode V2 For Google Tags - Som2ny Network","og_description":"**Last updated March 7, 2024. Clarified that you do NOT need to resend hits when consent is granted, if those hits were collected on the same page when consent was denied. Google\u2019s Consent Mode continues to be a hot topic, especially since in 2024 it will be required to implement Consent Mode in case a [&hellip;]","og_url":"https:\/\/fivemor.com\/?p=42205","og_site_name":"Som2ny Network","article_published_time":"2025-01-23T02:26:58+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fivemor.com\/?p=42205#article","isPartOf":{"@id":"https:\/\/fivemor.com\/?p=42205"},"author":{"name":"admin","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371"},"headline":"Consent Mode V2 For Google Tags","datePublished":"2025-01-23T02:26:58+00:00","mainEntityOfPage":{"@id":"https:\/\/fivemor.com\/?p=42205"},"wordCount":3239,"commentCount":0,"publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"image":{"@id":"https:\/\/fivemor.com\/?p=42205#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg","keywords":["Consent","Google","Mode","TAGS"],"articleSection":["Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fivemor.com\/?p=42205#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fivemor.com\/?p=42205","url":"https:\/\/fivemor.com\/?p=42205","name":"Consent Mode V2 For Google Tags - Som2ny Network","isPartOf":{"@id":"https:\/\/fivemor.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fivemor.com\/?p=42205#primaryimage"},"image":{"@id":"https:\/\/fivemor.com\/?p=42205#primaryimage"},"thumbnailUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg","datePublished":"2025-01-23T02:26:58+00:00","breadcrumb":{"@id":"https:\/\/fivemor.com\/?p=42205#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fivemor.com\/?p=42205"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/?p=42205#primaryimage","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2025\/01\/consent-mode-v2-google-tags.jpg","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/fivemor.com\/?p=42205#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fivemor.com\/?bp_activities=1"},{"@type":"ListItem","position":2,"name":"Consent Mode V2 For Google Tags"}]},{"@type":"WebSite","@id":"https:\/\/fivemor.com\/#website","url":"https:\/\/fivemor.com\/","name":"Som2ny Network","description":"Daily Deals","publisher":{"@id":"https:\/\/fivemor.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fivemor.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/fivemor.com\/#organization","name":"Som2ny Network","url":"https:\/\/fivemor.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/","url":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","contentUrl":"https:\/\/fivemor.com\/wp-content\/uploads\/2026\/07\/4a0953c4-logo-300x86-1.png","width":300,"height":86,"caption":"Som2ny Network"},"image":{"@id":"https:\/\/fivemor.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/fivemor.com\/#\/schema\/person\/b85e3c3dc0e1daea076524dc8810c371","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fivemor.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/729ae85bf62b9917e93538db2f2688ca?s=96&r=g&default=https%3A%2F%2Ffivemor.com%2Fwp-content%2Fplugins%2Fbuddypress-first-letter-avatar%2Fimages%2Fdefault%2F96%2Flatin_a.png","caption":"admin"},"sameAs":["https:\/\/fivemor.com"],"url":"https:\/\/fivemor.com\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/42205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=42205"}],"version-history":[{"count":0,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/posts\/42205\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=\/wp\/v2\/media\/42206"}],"wp:attachment":[{"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=42205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=42205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=42205"},{"taxonomy":"dealstore","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdealstore&post=42205"},{"taxonomy":"offerexpiration","embeddable":true,"href":"https:\/\/fivemor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fofferexpiration&post=42205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}