Article

リマーケティング広告入門:追跡型広告でCVRを高める方法

高田晃太郎
リマーケティング広告入門:追跡型広告でCVRを高める方法

公開事例や業界レポートでは、リマーケティングは新規配信と比べてCVR(コンバージョン率)が高く、CPA(獲得単価)が低くなりやすい傾向が繰り返し報告されています¹²³。広告在庫が高騰しても、既に関心を示したユーザーへの再接触は効率が崩れにくいのが特長です。計測制限が厳しくなる中でも、実装の精度とプライバシー配慮を両立できれば、投資対効果の維持は十分可能です⁵。複数の研究や事例では、適切な頻度管理とリスト鮮度の維持が成果の主要因とされ⁴、実務でも、イベント粒度の統一と同意管理の一貫性がCVRのブレを抑える鍵として再現性高く観測されています。つまり、技術負債の少ないタグ実装と、データガバナンスに沿ったオーディエンス運用が、最短で成果に直結します。

リマーケティングの仕組みとCVRの実態

リマーケティングは、サイトやアプリでの行動イベント(例:閲覧、カート投入、購入)を識別子と紐付けて広告プラットフォームに安全に送信し、リスト化したうえで入札とクリエイティブ(広告文・画像)を最適化する仕組みです。一般に、購入意向の高い行動(カート投入、価格比較、再訪)ほど転換確率が上がる傾向が示され¹、なかでも直近1〜7日の再訪ユーザーはCVRが相対的に高まりやすいといわれます¹,⁴。一方で、リストの鮮度が落ちたり、Cookie有効期限の短縮やiTP(Intelligent Tracking Prevention)の影響で識別率が下がると、CVRは平均に収れんしやすくなります⁴。したがって、クリックベースの配信設定だけでなく、計測面のメンテナンスがビジネス成果の維持に不可欠です。

ビジネス観点では、LTV(顧客生涯価値)の高い顧客群に再投資する設計がROI(投資対効果)を押し上げます。たとえば平均受注額が高いカテゴリの閲覧者に対して、在庫状況や粗利を考慮したクリエイティブを動的に差し替えると、短期のCVRだけでなく「粗利ベースCPA(広告費÷粗利)」の改善を堅実に積み上げやすくなります。CTOや技術リーダーにとって重要なのは、タグ実装・同意管理・配信制御の責務分界を明確にし、変更を素早く反映できる運用基盤を用意することです⁵。価値に基づく最適化を強める際は、広告プラットフォームのコンバージョンの価値ルールを用いて粗利や在庫状況を反映させると、一貫性のある意思決定につながります⁶。

実装設計:タグ、イベント、同意管理

実装で最初に決めるべきは、イベント命名規約とペイロードの粒度です。商品ID、価格、通貨、数量、ユーザーの同意状態を最小公倍数として統一し、プラットフォーム間で整合を取ります。これにより、配信先ごとにデータを変換する余計な分岐を減らし、遅延と不整合を抑えられます。次に発火条件を決めます。ビュー系とコンバージョン系でロードタイミングを分離し、CLS(Cumulative Layout Shift)やTTI(Time to Interactive)への影響を最小化します。SPA(シングルページアプリケーション)では仮想ページビューを確実に発火させ、History APIの遷移を監視してイベントの重複送信を防ぎます。

以下はGoogleタグの基本実装例です。ビューイベントと購入イベントを標準化し、パラメータを揃えます。

<!-- gtag.js(Google Ads/GA4共用) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);} 
  gtag('js', new Date());
  gtag('config', 'AW-XXXXXXX');
  // 商品閲覧イベント
  gtag('event', 'view_item', {
    items: [{item_id: 'SKU_123', price: 9800, quantity: 1}],
    currency: 'JPY',
    value: 9800
  });
  // 購入イベント
  gtag('event', 'purchase', {
    transaction_id: 'T-2025-0001',
    items: [{item_id: 'SKU_123', price: 9800, quantity: 1}],
    currency: 'JPY',
    value: 9800
  });
</script>

GTM(Googleタグマネージャー)を使う場合は、dataLayerの契約を統一しておくとプラットフォーム間の差分対応が楽になります。下はSPA対応を意識した擬似ページビューの送信例です。

<script>
window.dataLayer = window.dataLayer || [];
function trackVirtualPage(path, title){
  window.dataLayer.push({
    event: 'virtual_page_view',
    page_path: path,
    page_title: title,
    ts: Date.now()
  });
}
// ルーター側で遷移時に呼び出す
trackVirtualPage('/products/sku_123', '商品詳細');
</script>

Meta Pixelでも同じ語彙を維持すると分析の交差検証が容易になります。以下はカスタムイベントを含む例です。

<!-- Meta Pixel -->
<script>!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
 n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
 n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
 t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script',
 'https://connect.facebook.net/en_US/fbevents.js');fbq('init','XXXXXXXX');fbq('consent','revoke');
 fbq('track','ViewContent',{content_ids:['SKU_123'],content_type:'product',value:9800,currency:'JPY'});
 fbq('track','Purchase',{content_ids:['SKU_123'],value:9800,currency:'JPY'});
</script>
<noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=XXXXXXXX&ev=PageView&noscript=1"/></noscript>

プライバシー規制に対応するには、同意管理プラットフォーム(CMP)とタグの連携が不可欠です。Consent Modeを用いると、同意が否認されても推定コンバージョンに活用できるシグナルが維持され、広告最適化が断たれにくくなります⁵。以下はデフォルト否認から同意取得後に更新する実装です。

<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments)}
// デフォルトは否認
gtag('consent','default',{
  ad_storage: 'denied',
  analytics_storage: 'denied',
  wait_for_update: 500
});
// CMPで同意が得られたら更新
function onConsentGranted(){
  gtag('consent','update',{
    ad_storage: 'granted',
    analytics_storage: 'granted'
  });
}
</script>

計測のレジリエンスを高めるために、サーバーサイド計測を併用するとSafariのITPやアプリ内ブラウザの制約に耐性が出ます。下はNode.jsで受信したイベントを検証し、キューに積む最小実装例です(個人情報は適法な同意の下で、送信前にハッシュ化して扱います)。

import express from 'express';
import crypto from 'crypto';

const app = express();
app.use(express.json());

function sha256(email){
  return crypto.createHash('sha256').update(email.trim().toLowerCase()).digest('hex');
}

app.post('/collect', async (req, res) => {
  try {
    const { event, items, value, currency, email } = req.body;
    if(!event || !Array.isArray(items)) throw new Error('invalid payload');
    const user = email ? { hashed_email: sha256(email) } : {};
    // TODO: 署名検証やレート制限、キュー投入
    // await queue.send({event, items, value, currency, user})
    res.status(202).json({ status: 'queued' });
  } catch (e) {
    res.status(400).json({ error: e.message });
  }
});

app.listen(8080, () => console.log('collector running'));

プラットフォーム連携はAPIで自動化すると、オーディエンスの鮮度が保てます。Google Ads APIを用いてCustomer Matchのメンバーを日次で更新する例を示します。

from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.errors import GoogleAdsException
import hashlib
import os

CONFIG_PATH = os.getenv('GOOGLE_ADS_YAML')
CUSTOMER_ID = '1234567890'
USER_LIST_ID = '111222333'

client = GoogleAdsClient.load_from_storage(CONFIG_PATH)

def sha256(s: str) -> bytes:
    return hashlib.sha256(s.strip().lower().encode()).hexdigest().encode()

def add_members(emails):
    try:
        service = client.get_service('UserDataService')
        user_identifiers = []
        for e in emails:
            user_identifiers.append({
                'user_identifiers': [{'hashed_email': sha256(e)}]
            })
        op = client.get_type('UploadUserDataRequest')
        op.customer_id = CUSTOMER_ID
        op.customer_match_user_list_metadata.user_list = (
            client.get_service('UserListService').user_list_path(CUSTOMER_ID, USER_LIST_ID)
        )
        for u in user_identifiers:
            op.operations.add().create.CopyFrom(client.get_type('UserData')(**u))
        resp = service.UploadUserData(request=op)
        print('Uploaded, job_id:', resp.upload_date_time)
    except GoogleAdsException as ex:
        for e in ex.failure.errors:
            print(e.error_code, e.message)
        raise

if __name__ == '__main__':
    add_members(['user1@example.com','user2@example.com'])

また、データウェアハウスでの抽出ロジックを定義しておくと、捨てられたカートの再接触や高粗利商品の閲覧者などを安定して供給できます。BigQueryで直近7日以内にカート投入があり購入が無いユーザーを抽出する簡潔なクエリの例を示します。

WITH cart AS (
  SELECT user_id, ANY_VALUE(email) AS email, MAX(event_time) AS last_cart_at
  FROM `project.dataset.events`
  WHERE event_name = 'add_to_cart' AND event_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  GROUP BY user_id
), pur AS (
  SELECT user_id, MAX(event_time) AS last_purchase_at
  FROM `project.dataset.events`
  WHERE event_name = 'purchase' AND event_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  GROUP BY user_id
)
SELECT c.user_id, c.email
FROM cart c
LEFT JOIN pur p ON c.user_id = p.user_id
WHERE p.user_id IS NULL;

パフォーマンスの観点では、タグの非同期化、発火条件の厳密化、ペイロード圧縮でフロントの遅延を抑えます。CLSやLCP(Largest Contentful Paint)を悪化させる同期スクリプトは避け、重たい処理はバックグラウンド送信を検討します。計測の信頼性を高めるには、イベントIDの重複排除とリトライの指数バックオフを設計し、障害時にデータ欠損がビジネス判断に波及しないようにします。SLOの目安としては、イベント到達率99%超、遅延P95が5秒以内、重複率0.3%未満を設定すると、運用上の会話がしやすくなります。

オーディエンスと入札戦略:スケールと精度の両立

リマーケティングの成果は、スケールと精度のバランスで決まります。厳しすぎる条件は母集団を削り過ぎ、学習が進まず入札も不安定になります。反対に広すぎる条件はCVRの希釈とフリークエンシー過多を招き、費用対効果を毀損します。実務では、直近1日、3日、7日の閲覧者を濃淡で分け、カート投入者、商品詳細閲覧のみ、トップ流入のみといった意図信号の強度で階層化して、クリエイティブの訴求と入札強度を変化させるやり方が再現性高く機能します。鮮度が高く意図が強いほど、価格訴求や限定性の高いメッセージが刺さりやすく、逆に鮮度が落ちるほど、カテゴリ提案やランキングといった広義の探索を促す表現が相性が良いという傾向が観測されます。

入札はスマート自動化の活用が前提になりましたが、信号の質を上げると学習が安定します。実装側では、購買価値のパラメータを正確に送ること、重複・欠損・遅延を減らすこと、そしてコンバージョンの価値ルールを用いて粗利や在庫状況を反映させることが、ビジネスとの接続を強めます⁶。学習初期は過学習を避けるため、ターゲティングの制約を過度に掛けずにシグナルを十分流し、安定後にクリエイティブやフリークエンシーで無駄打ちを詰めていくのが無理のないアプローチです。

ダイナミックリマーケティングではフィードの健全性が最重要です。IDの不一致、在庫・価格の遅延、画像の解像度不足などは、CVRの目減りに直結します。フィードの差分更新を短い間隔で行い、欠品は速やかに除外する運用に切り替えるだけでも、無駄なクリックを抑えられます。社内のデータ基盤と広告フィード生成のパイプラインをCIに載せ、スキーマ変更時に自動検証する体制を作ると、恒常的な改善が楽になります。

類似拡張の併用は、リターゲティングの天井を押し上げます。高LTVの既存顧客から派生したシードを用いると、新規獲得のCPAを抑えながら、再訪母集団の裾野が広がります。これも結局は入力となるファーストパーティデータの品質に依存します。ハッシュ化したメールや電話番号、ログインIDなどの識別子を、同意に基づき安定供給できる基盤を用意しておくことが、長期の競争力に直結します。

計測と最適化:iTP、アトリビューション、ROI

SafariのITPはCookieの有効期限を短縮し、サードパーティクッキーに依存する計測を困難にしています。サーバーサイド計測はこの影響を和らげますが、同意とプライバシーの制約を超えるわけではありません。Consent Mode、GA4の強化計測、サーバーサイドタグといった複数の手段を重ねて、欠損を補完する設計が現実的です⁵。アトリビューションは、ポストクリック(クリック後の貢献)とビュースルー(広告視認のみの貢献)を分けて評価し、媒体間のモデル差を理解したうえで、社内の収益データと統合して二重計上を避けます。収益ベースのKPIに揃えると、チャンネル間の優先度調整がしやすくなります。

クリエイティブは短い学習ループで検証します。直近1〜3日の高意図ユーザーには限定性の高いメッセージ、7日以降は再想起を促す構成に切り替えます。頻度が上がりすぎると負の体験となるため、1ユーザーあたりのインプレッション上限を設定し、露出を鎮めた分を別セグメントに再配分します。季節性やキャンペーン時期によっても意図信号は変化するため、在庫や価格改定と連動した自動切り替えの仕組みがあると、人的な反応速度の限界を超えて効果を維持できます。

最後に、ダッシュボードでの可観測性を確保します。イベント到達率、識別子付与率、同意率、媒体ごとのコンバージョン差分、重複率、学習ステータスの遷移など、最終KPIの前段にある技術KPIを毎日監視できるようにすると、問題が起きたときの切り分けが圧倒的に速くなります。エンジニアとマーケチームが共通のメトリクスで会話できるほど、意思決定は速く、CVRの安定度も高まります。

ミニケース:在庫連動で粗利CPAを改善

あるECでは、在庫薄の商品がダイナミック広告に残り続け、クリックの無駄打ちが発生していました。フィード生成を在庫APIと粗利係数でフィルタリングし、Consent Modeとサーバーサイド収集でデータ欠損を抑えつつ⁵、入札は価値ルールで粗利を重み付け⁶。結果としてCVRや粗利ベースCPAの改善が観測され、媒体横断の重複も縮小しました。改善の多くは広告の魔法ではなく、タグとデータパイプラインの整流化から生まれています。

まとめ:技術でマーケ成果を持続可能にする

リマーケティングは、計測の劣化や規制強化で難易度が上がりましたが、正しく実装すればなお強力です。イベントの語彙を統一し、同意に基づく信号を安定供給し⁵、サーバーサイド計測で欠損に耐える基盤を作るだけで、学習の質は目に見えて上がります。さらに、粗利や在庫といった現実の制約を価値ルールとフィードに反映できれば⁶、短期のCVRと長期のLTVの両立が視野に入ります。

まずは実装の健全性を測る技術KPIを一本化し、7日以内の高意図ユーザーから検証ループを回してください。次にConsent Modeとサーバーサイド計測を段階導入し、オーディエンスの鮮度と入札の一貫性を高めていきましょう。小さな改善でも学習の土台が整えば確実に積み上がります。自社のデータと運用をどこから整えるべきか、今日の配信結果を見たその瞬間から、技術で次の一手を仕込めますか。

参考文献

  1. Parah Group. Retargeting vs Prospecting: Which Brings Better Conversion Rates? https://www.parahgroup.com/blogs/retargeting-vs-prospecting-which-brings-better-conversion-rates#:~:text=purchase,site%2C%20your%20retargeting%20opportunities%20shrink
  2. ageneralstudio.com. 日本のEC業界における調査: リマーケティング活用によるCPA改善の傾向. https://ageneralstudio.com/blog/222-2/#:~:text=%E6%97%A5%E6%9C%AC%E3%81%AEEC%E3%82%B5%E3%82%A4%E3%83%88%E3%81%AE%E5%B9%B3%E5%9D%87%E7%9A%84%E3%81%AACPA%E3%81%AF5%2C000%E3%80%9C10%2C000%E5%86%86%E7%A8%8B%E5%BA%A6%E3%81%A8%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%83%AA%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%92%E5%8A%B9%E6%9E%9C%E7%9A%84%E3%81%AB%E6%B4%BB%E7%94%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%A7%E3%80%81%E3%81%93%E3%82%8C%E3%82%9230%E3%80%9C50
  3. LISKUL. リマーケティングの基礎と事例(獲得率・CPA改善の公開事例). https://liskul.com/re-marketing-1482#:~:text=%E3%81%BB%E3%81%BC%E5%A4%89%E3%82%8F%E3%82%89%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81%E7%8D%B2%E5%BE%97%E7%8E%87%E3%81%8C8%E5%80%8D%E3%80%81%E7%8D%B2%E5%BE%97%E4%BB%B6%E6%95%B0%E3%81%8C24%E5%80%8D%E3%81%A8%E3%81%AA%E3%82%8A%E3%80%81%E7%B5%90%E6%9E%9C%E3%81%A8%E3%81%97%E3%81%A6%E7%8D%B2%E5%BE%97%E5%8D%98%E4%BE%A1%E3%81%8C%E5%A4%89%E6%9B%B4%E5%89%8D%E5%BE%8C%E3%81%A792%EF%BC%85%E6%B8%9B%E3%81%A8%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82
  4. LISKUL(RSSミラー). リマーケティングにおけるCookie保有期間とCVR/CPAへの影響. https://liskul17.rssing.com/chan-53313216/all_p5.html#:~:text=%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%AF%E3%80%81Cookie%E3%81%AE%E4%BF%9D%E6%9C%89%E6%9C%9F%E9%96%93%E3%81%AF90%E6%97%A5%E3%81%A7%E3%81%99%E3%80%82%E3%81%97%E3%81%8B%E3%81%97%E3%80%81%E3%81%93%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8B%E3%82%89%E3%80%81Cookie%E4%BF%9D%E6%9C%89%E6%9C%9F%E9%96%93%E3%81%8C3%E6%97%A5%E4%BB%A5%E5%86%85%E3%81%AE%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%8C%E5%85%A8%E4%BD%93%E3%81%AECV%E6%95%B0%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%92%E5%8D%A0%E3%82%81%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81CVR%E3%81%AF%20%E9%AB%98%E3%81%8F%E3%80%81CPA%E3%81%8C%E4%BD%8E%E3%81%84%E3%81%93%E3%81%A8%E3%81%8C%E5%88%86%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%20%E3%81%93%E3%82%8C%E3%81%AF%E3%81%A9%E3%81%AE%E6%A5%AD%E7%95%8C%E3%81%A7%E3%82%82%E3%81%BB%E3%81%BC%E5%85%B1%E9%80%9A%E3%81%A7%E3%80%81CV%E6%95%B0%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%81%AF%E5%85%A8%E4%BD%93%E3%81%AE50
  5. Google 広告ヘルプ. 同意モード(Consent Mode)について. https://support.google.com/google-ads/answer/10548233?hl=ja#:~:text=%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%20%E3%83%A2%E3%83%87%E3%83%AA%E3%83%B3%E3%82%B0%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%99%E3%82%8C%E3%81%B0%E3%80%81%E5%BA%83%E5%91%8A%E3%81%AE%E6%93%8D%E4%BD%9C%E3%81%A8%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8A%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8F%E3%81%A6%E3%82%82%E3%80%81%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E6%B8%AC%E5%AE%9A%E3%81%AE%E7%A9%BA%E7%99%BD%E3%82%92%E5%9F%8B%E3%82%81%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82
  6. Google 広告ヘルプ. コンバージョン値のルールについて. https://support.google.com/google-ads/answer/10518330?hl=ja#:~:text=%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E5%80%A4%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%AB%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E7%8A%B6%E6%85%8B%E3%81%A7%E3%81%AF%E8%80%83%E6%85%AE%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E3%82%B3%E3%83%B3%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E4%BE%A1%E5%80%A4%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E8%BF%BD%E5%8A%A0%E6%83%85%E5%A0%B1%EF%BC%88%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%B1%A4%E3%81%AB%E5%BF%9C%E3%81%98%E3%81%9F%E3%83%9E%E3%83%BC%E3%82%B8%E3%83%B3%E3%81%AE%E9%81%95%E3%81%84%E3%80%81%E6%9C%9F%E5%BE%85%E3%81%95%E3%82%8C%E3%82%8B%E7%94%9F%20%E6%B6%AF%E4%BE%A1%E5%80%A4%E3%81%AA%E3%81%A9%EF%BC%89%E3%82%92%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%81%AB%E5%8F%8D%E6%98%A0%E3%81%A7%E3%81%8D%E3%80%81%E3%81%9D%E3%81%AE%E4%BE%A1%E5%80%A4%E3%82%92%E5%8A%A0%E5%91%B3%E3%81%97%E3%81%9F%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E3%81%A7%E3%81%AE%E6%9C%80%E9%81%A9%E5%8C%96%E3%81%8C%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82