{"id":249247,"date":"2025-09-05T05:59:24","date_gmt":"2025-09-05T05:59:24","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/easy-meta-capi\/"},"modified":"2026-04-16T14:42:02","modified_gmt":"2026-04-16T14:42:02","slug":"easy-meta-capi","status":"publish","type":"plugin","link":"https:\/\/ko.wordpress.org\/plugins\/easy-meta-capi\/","author":23356298,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.2.1","stable_tag":"3.2.1","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"All-in-one CAPI for Meta & Pinterest + GTM","header_author":"Suhan Duman","header_description":"Injects GTM and sends server-side events to the Meta Conversion API with a unified Data Layer.","assets_banners_color":"","last_updated":"2026-04-16 14:42:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/profiles.wordpress.org\/suhanduman\/","rating":5,"author_block_rating":0,"active_installs":30,"downloads":589,"num_ratings":1,"support_threads":1,"support_threads_resolved":1,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"3.1.0":{"tag":"3.1.0","author":"suhanduman","date":"2025-09-29 10:48:49"},"3.1.1":{"tag":"3.1.1","author":"suhanduman","date":"2025-09-29 11:54:37"},"3.2.0":{"tag":"3.2.0","author":"suhanduman","date":"2026-04-16 13:47:32"},"3.2.1":{"tag":"3.2.1","author":"suhanduman","date":"2026-04-16 14:42:02"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3369882,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3369882,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.1.0","3.1.1","3.2.0","3.2.1"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[235247,239580,23295,207498,312],"plugin_category":[45],"plugin_contributors":[247430],"plugin_business_model":[],"class_list":["post-249247","plugin","type-plugin","status-publish","hentry","plugin_tags-capi","plugin_tags-conversion-api","plugin_tags-gtm","plugin_tags-meta-pixel","plugin_tags-pinterest","plugin_category-ecommerce","plugin_contributors-suhanduman","plugin_committers-suhanduman"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/easy-meta-capi\/assets\/icon-128x128.png?rev=3369882","icon_2x":"https:\/\/ps.w.org\/easy-meta-capi\/assets\/icon-256x256.png?rev=3369882","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>You shouldn't have to pay for a GTM Server Container or a premium plugin just to send your WooCommerce events to Meta and Pinterest. This plugin does it for free, directly from your WordPress server.<\/p>\n\n<p>It connects your store to the Meta (Facebook) Conversions API and the Pinterest Conversions API, sends all the important e-commerce events server-side, and sets up a clean GTM dataLayer so your browser-side tags (Pixel, GA4, Pinterest Tag) work perfectly alongside it. Same event ID on both sides, no duplicates.<\/p>\n\n<p><strong>What you get:<\/strong><\/p>\n\n<ul>\n<li><strong>Meta &amp; Pinterest CAPI<\/strong> \u2014 PageView, ViewContent, AddToCart, Checkout, Purchase, Search, and more. Sent from your server with hashed user data for high match quality.<\/li>\n<li><strong>GTM dataLayer<\/strong> \u2014 Automatic script injection and a standards-compliant dataLayer for GA4, Meta Pixel, Pinterest Tag, and whatever else you run through GTM.<\/li>\n<li><strong>Full WooCommerce coverage<\/strong> \u2014 14 event types including checkout funnel steps (AddShippingInfo, AddPaymentInfo), wishlist, lead forms, and login tracking.<\/li>\n<li><strong>Event batching<\/strong> \u2014 CAPI events are queued and sent in bulk every 60 seconds. Your pages load fast, your server stays calm.<\/li>\n<li><strong>Built-in debug log<\/strong> \u2014 See exactly what was sent, to which platform, and whether it worked. Filterable, with stats.<\/li>\n<\/ul>\n\n<p><strong>What you don't need:<\/strong><\/p>\n\n<ul>\n<li>No GTM Server Container (saves ~$30-150\/month in cloud costs)<\/li>\n<li>No premium plugin tier (everything works, nothing is locked)<\/li>\n<li>No external tracking service subscriptions<\/li>\n<\/ul>\n\n<p><strong>Please check the installation page for the recommended GTM settings for deduplication.<\/strong><\/p>\n\n<h3>Our Philosophy<\/h3>\n\n<p>This plugin is free. Not \"free with limits\" \u2014 just free. Every feature works, there is no pro version waiting behind a paywall.<\/p>\n\n<p>I built it because setting up server-side tracking shouldn't require a cloud engineering degree or a monthly bill. If it helps your store, that's good enough.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects your website to external services to send event data.<\/p>\n\n<ul>\n<li><strong>Service Used:<\/strong> Meta Conversion API\n\n<ul>\n<li><strong>Purpose:<\/strong> To send user interaction and e-commerce event data from your server to Meta's servers for ad performance measurement, optimization, and audience building.<\/li>\n<li><strong>Data Sent:<\/strong> Event details (product ID, price) and user parameters (IP address, user agent, hashed email\/name\/phone, Facebook cookies) are sent when a user performs a key action.<\/li>\n<\/ul><\/li>\n<li><strong>Service Used:<\/strong> Pinterest Conversions API\n\n<ul>\n<li><strong>Purpose:<\/strong> Same as the Meta CAPI, providing reliable tracking for ad performance and audience building on Pinterest.<\/li>\n<li><strong>Data Sent:<\/strong> Event details and hashed user parameters are sent upon user action.<\/li>\n<\/ul><\/li>\n<li><strong>Service Used:<\/strong> Google Tag Manager\n\n<ul>\n<li><strong>Purpose:<\/strong> To load a JavaScript container from Google's servers that allows you to manage and deploy marketing and analytics tags.<\/li>\n<li><strong>Data Sent:<\/strong> The plugin provides your GTM Container ID to Google to fetch the correct script. GTM itself may collect data based on how you configure your tags.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory and activate it.<\/li>\n<li>Navigate to the <strong>Meta CAPI &amp; GTM<\/strong> page from your main WordPress menu.<\/li>\n<li>Enter your <strong>GTM Container ID<\/strong> to inject the GTM script on your site.<\/li>\n<li>Enter your <strong>Meta Pixel ID<\/strong> and <strong>API Access Token<\/strong> for the server-side connection. Do the same for Pinterest if applicable.<\/li>\n<li>Go to the \"Event Management\" tab to select which CAPI events you want to track.<\/li>\n<li>Configure your GTM container using the instructions in the \"Recommended GTM Setup\" section below.<\/li>\n<\/ol>\n\n\n\n<h3>Recommended GTM Setup<\/h3>\n\n<p><strong>Crucial First Steps:<\/strong><\/p>\n\n<p>To prevent duplicate events and ensure data accuracy, you must configure two settings in your Meta account and GTM container.\n1.  <strong>Turn Off Meta's Automatic Event Tracking:<\/strong>\n    * In your Meta Business Suite, navigate to <strong>Events Manager<\/strong> and select your Pixel.\n    * Go to the <strong>Settings<\/strong> tab.\n    * Scroll to the <strong>Event Setup<\/strong> section and turn <strong>Off<\/strong> the toggle for <strong>Track Events Automatically Without Code<\/strong>. This plugin will handle all event sending.<\/p>\n\n<ol>\n<li><strong>Pause Automatically Created GTM Tags:<\/strong>\n\n<ul>\n<li>In your GTM container, please pause or delete any automatically created tags that start with <code>FB_<\/code>. Since we will be creating our own tags manually, only they should be active.<\/li>\n<\/ul><\/li>\n<\/ol>\n\n\n\n<h3>TEMPLATE SETUP<\/h3>\n\n<p>To save time and prevent errors, we have created a GTM container template. You can import this file to automatically create all the necessary variables, triggers, and tags.<\/p>\n\n<p><strong>Step 1: Download the Template<\/strong><\/p>\n\n<p>Go to the \"Meta CAPI &amp; GTM\" settings page in your WordPress admin panel. In the Main Settings tab, you will see a highlighted box with a link to download the <code>gtm-template.json<\/code> template file. Download this file to your computer.<\/p>\n\n<p><strong>Step 2: Import the Template into GTM<\/strong><\/p>\n\n<ol>\n<li>Go to your Google Tag Manager container.<\/li>\n<li>Navigate to the <strong>Admin<\/strong> section.<\/li>\n<li>Click on <strong>Import Container<\/strong>.<\/li>\n<li>Click <strong>Choose container file<\/strong> and select the <code>gtm-template.json<\/code> file you downloaded.<\/li>\n<li>Choose a <strong>New<\/strong> workspace and give it a descriptive name (e.g., \"CAPI Import\").<\/li>\n<li><strong>IMPORTANT:<\/strong> Choose the <strong>Merge<\/strong> import option. Do NOT choose \"Overwrite\", as this could delete your existing tags.<\/li>\n<li>The preview screen will show you all the new tags, triggers, and variables that will be added. Click <strong>Confirm<\/strong>.<\/li>\n<\/ol>\n\n<p><strong>Step 3: Configure Your IDs<\/strong><\/p>\n\n<p>After the import is complete, you must update the placeholder IDs with your own tracking IDs.<\/p>\n\n<ol>\n<li>Go to the <strong>Tags<\/strong> section.<\/li>\n<li>Find and click on the <strong>\"GA4 - Google Tag (Configuration)\"<\/strong> tag.\n\n<ul>\n<li>Replace <code>GA4_MEASUREMENT_ID<\/code> with your actual GA4 Measurement ID (e.g., <code>G-XXXXXXXXXX<\/code>).<\/li>\n<li>Save the tag.<\/li>\n<\/ul><\/li>\n<li>Find and click on the <strong>\"Meta - PageView\"<\/strong> tag.\n\n<ul>\n<li>Replace <code>META_PIXEL_ID<\/code> with your actual Meta Pixel ID.<\/li>\n<li>Save the tag.<\/li>\n<\/ul><\/li>\n<li>Find and click on the <strong>\"Pinterest - PageView\"<\/strong> tag.\n\n<ul>\n<li>Replace <code>PINTEREST_TAG_ID<\/code> with your actual Pinterest Tag ID.<\/li>\n<li>Save the tag.<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<p><strong>Step 4: Publish<\/strong><\/p>\n\n<p>Once you have updated your IDs, click the <strong>Submit<\/strong> button in the top right corner, then <strong>Publish<\/strong> your container. Your GTM setup is now complete!<\/p>\n\n<p>If you prefer to configure Google Tag Manager manually, or if you encounter any issues with the template import, the following guide provides step-by-step instructions to get everything configured.<\/p>\n\n<h3>MANUAL SETUP<\/h3>\n\n<h3>Step 1: Create GTM Variables<\/h3>\n\n<p>Create the following variables of the type <strong>Data Layer Variable<\/strong>.\n* <strong>Variable Name:<\/strong> <code>DLV - event_id<\/code>\n    * <strong>Data Layer Variable Name:<\/strong> <code>event_id<\/code>\n* <strong>Variable Name:<\/strong> <code>DLV - ecommerce<\/code>\n    * <strong>Data Layer Variable Name:<\/strong> <code>ecommerce<\/code>\n* <strong>Variable Name:<\/strong> <code>DLV - Hashed Email<\/code>\n    * <strong>Data Layer Variable Name:<\/strong> <code>user_data.email<\/code>\n* <strong>Variable Name:<\/strong> <code>DLV - ecommerce.shipping_method<\/code>\n    * <strong>Data Layer Variable Name:<\/strong> <code>ecommerce.shipping_method<\/code>\n* <strong>Variable Name:<\/strong> <code>DLV - ecommerce.payment_method<\/code>\n    * <strong>Data Layer Variable Name:<\/strong> <code>ecommerce.payment_method<\/code><\/p>\n\n<h3>Step 2: Create GTM Triggers<\/h3>\n\n<p>Create the following triggers using the <strong>Custom Event<\/strong> type.\n* <strong>Trigger Name:<\/strong> <code>CE - PageView Meta<\/code>\n    * <strong>Event name:<\/strong> <code>page_view_meta<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - View Item<\/code>\n    * <strong>Event name:<\/strong> <code>view_item<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - Add to Cart<\/code>\n    * <strong>Event name:<\/strong> <code>add_to_cart<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - Begin Checkout<\/code>\n    * <strong>Event name:<\/strong> <code>begin_checkout<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - Purchase<\/code>\n    * <strong>Event name:<\/strong> <code>purchase<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - View Item List<\/code>\n    * <strong>Event name:<\/strong> <code>view_item_list<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - View Cart<\/code>\n    * <strong>Event name:<\/strong> <code>view_cart<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - Select Item<\/code>\n    * <strong>Event name:<\/strong> <code>select_item<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - Add Shipping Info<\/code>\n    * <strong>Event name:<\/strong> <code>add_shipping_info<\/code>\n* <strong>Trigger Name:<\/strong> <code>CE - Add Payment Info<\/code>\n    * <strong>Event name:<\/strong> <code>add_payment_info<\/code><\/p>\n\n<h3>Step 3: Create GTM Tags<\/h3>\n\n<h4>A) Meta Tags (Facebook Pixel)<\/h4>\n\n<p>Install the <strong>\"Facebook Pixel\"<\/strong> template from the GTM Community Template Gallery. Create the following tags.\n* <strong>Tag: Meta - PageView<\/strong>\n    * <strong>Event Name:<\/strong> <code>PageView<\/code>\n    * <strong>More Settings &gt; Event ID:<\/strong> <code>{{DLV - event_id}}<\/code>\n    * <strong>Trigger:<\/strong> <code>CE - PageView Meta<\/code><\/p>\n\n<ul>\n<li><p><strong>Tag: Meta - ViewContent<\/strong><\/p>\n\n<ul>\n<li><strong>Event Name:<\/strong> <code>ViewContent<\/code><\/li>\n<li><strong>Object Properties:<\/strong> <code>{{DLV - ecommerce}}<\/code><\/li>\n<li><strong>More Settings &gt; Event ID:<\/strong> <code>{{DLV - event_id}}<\/code><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - View Item<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Meta - AddToCart<\/strong><\/p>\n\n<ul>\n<li><strong>Event Name:<\/strong> <code>AddToCart<\/code><\/li>\n<li><strong>Object Properties:<\/strong> <code>{{DLV - ecommerce}}<\/code><\/li>\n<li><strong>More Settings &gt; Event ID:<\/strong> <code>{{DLV - event_id}}<\/code><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Add to Cart<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Meta - InitiateCheckout<\/strong><\/p>\n\n<ul>\n<li><strong>Event Name:<\/strong> <code>InitiateCheckout<\/code><\/li>\n<li><strong>Object Properties:<\/strong> <code>{{DLV - ecommerce}}<\/code><\/li>\n<li><strong>More Settings &gt; Event ID:<\/strong> <code>{{DLV - event_id}}<\/code><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Begin Checkout<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Meta - Purchase<\/strong><\/p>\n\n<ul>\n<li><strong>Event Name:<\/strong> <code>Purchase<\/code><\/li>\n<li><strong>Object Properties:<\/strong> <code>{{DLV - ecommerce}}<\/code><\/li>\n<li><strong>More Settings &gt; Event ID:<\/strong> <code>{{DLV - event_id}}<\/code><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Purchase<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Meta - ViewCategory<\/strong><\/p>\n\n<ul>\n<li><strong>Event Name:<\/strong> <code>ViewCategory<\/code><\/li>\n<li><strong>Object Properties:<\/strong> <code>{{DLV - ecommerce}}<\/code><\/li>\n<li><strong>More Settings &gt; Event ID:<\/strong> <code>{{DLV - event_id}}<\/code><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - View Item List<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Meta - AddPaymentInfo<\/strong><\/p>\n\n<ul>\n<li><strong>Event Name:<\/strong> <code>AddPaymentInfo<\/code><\/li>\n<li><strong>Object Properties:<\/strong> <code>{{DLV - ecommerce}}<\/code><\/li>\n<li><strong>More Settings &gt; Event ID:<\/strong> <code>{{DLV - event_id}}<\/code><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Add Payment Info<\/code><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>B) Pinterest Tags<\/h4>\n\n<p><strong>Prerequisite:<\/strong> Install the <strong>\"Pinterest Tag\"<\/strong> template from the GTM Community Template Gallery. You must also create the following Data Layer Variables for e-commerce data:\n* <code>DLV - ecommerce.value<\/code> (Data Layer Variable Name: <code>ecommerce.value<\/code>)\n* <code>DLV - ecommerce.currency<\/code> (Data Layer Variable Name: <code>ecommerce.currency<\/code>)\n* <code>DLV - ecommerce.items<\/code> (Data Layer Variable Name: <code>ecommerce.items<\/code>)<\/p>\n\n<p>Create the following tags:<\/p>\n\n<ul>\n<li><p><strong>Tag: Pinterest - PageView<\/strong><\/p>\n\n<ul>\n<li><strong>Tag ID:<\/strong> Your Pinterest Tag ID<\/li>\n<li><strong>Hashed Email:<\/strong> <code>{{DLV - Hashed Email}}<\/code><\/li>\n<li><strong>Event to Fire:<\/strong> <code>page_visit<\/code><\/li>\n<li><strong>Custom Parameters:<\/strong> Name <code>event_id<\/code>, Value <code>{{DLV - event_id}}<\/code><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - PageView Meta<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Pinterest - ViewContent<\/strong><\/p>\n\n<ul>\n<li><strong>Tag ID:<\/strong> Your Pinterest Tag ID<\/li>\n<li><strong>Hashed Email:<\/strong> <code>{{DLV - Hashed Email}}<\/code><\/li>\n<li><strong>Event to Fire:<\/strong> <code>pagevisit<\/code><\/li>\n<li><strong>Custom Parameters:<\/strong> Add <code>event_id<\/code>, <code>value<\/code>, <code>currency<\/code>, and <code>contents<\/code> with their corresponding variables.<\/li>\n<li><strong>Trigger:<\/strong> <code>CE - View Item<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Pinterest - AddToCart<\/strong><\/p>\n\n<ul>\n<li><strong>Tag ID:<\/strong> Your Pinterest Tag ID<\/li>\n<li><strong>Hashed Email:<\/strong> <code>{{DLV - Hashed Email}}<\/code><\/li>\n<li><strong>Event to Fire:<\/strong> <code>add_to_cart<\/code><\/li>\n<li><strong>Custom Parameters:<\/strong> Add <code>event_id<\/code>, <code>value<\/code>, <code>currency<\/code>, and <code>contents<\/code> with their corresponding variables.<\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Add to Cart<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Pinterest - InitiateCheckout<\/strong><\/p>\n\n<ul>\n<li><strong>Tag ID:<\/strong> Your Pinterest Tag ID<\/li>\n<li><strong>Hashed Email:<\/strong> <code>{{DLV - Hashed Email}}<\/code><\/li>\n<li><strong>Event to Fire:<\/strong> <code>initiate_checkout<\/code><\/li>\n<li><strong>Custom Parameters:<\/strong> Add <code>event_id<\/code>, <code>value<\/code>, <code>currency<\/code>, and <code>contents<\/code> with their corresponding variables.<\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Begin Checkout<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Pinterest - Purchase<\/strong><\/p>\n\n<ul>\n<li><strong>Tag ID:<\/strong> Your Pinterest Tag ID<\/li>\n<li><strong>Hashed Email:<\/strong> <code>{{DLV - Hashed Email}}<\/code><\/li>\n<li><strong>Event to Fire:<\/strong> <code>checkout<\/code><\/li>\n<li><strong>Custom Parameters:<\/strong> Add <code>event_id<\/code>, <code>value<\/code>, <code>currency<\/code>, and <code>contents<\/code> with their corresponding variables.<\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Purchase<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: Pinterest - ViewCategory<\/strong><\/p>\n\n<ul>\n<li><strong>Tag ID:<\/strong> Your Pinterest Tag ID<\/li>\n<li><strong>Hashed Email:<\/strong> <code>{{DLV - Hashed Email}}<\/code><\/li>\n<li><strong>Event to Fire:<\/strong> <code>viewcategory<\/code><\/li>\n<li><strong>Custom Parameters:<\/strong>\n\n<ul>\n<li>Name <code>event_id<\/code>, Value <code>{{DLV - event_id}}<\/code><\/li>\n<li>Name <code>content_name<\/code>, Value <code>{{DLV - ecommerce.item_list_name}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - View Item List<\/code><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h4>C) Google Analytics 4 Tags<\/h4>\n\n<p><strong>Prerequisite:<\/strong> Before you begin, make sure you have your <strong>Measurement ID<\/strong> (starts with <code>G-<\/code>) from your Google Analytics 4 property. You must also create the following Data Layer Variables:\n* <code>DLV - ecommerce.currency<\/code> (Data Layer Variable Name: <code>ecommerce.currency<\/code>)\n* <code>DLV - ecommerce.value<\/code> (Data Layer Variable Name: <code>ecommerce.value<\/code>)\n* <code>DLV - ecommerce.items<\/code> (Data Layer Variable Name: <code>ecommerce.items<\/code>)\n* <code>DLV - ecommerce.transaction_id<\/code> (Data Layer Variable Name: <code>ecommerce.transaction_id<\/code>)\n* <code>DLV - ecommerce.item_list_name<\/code> (Data Layer Variable Name: <code>ecommerce.item_list_name<\/code>)<\/p>\n\n<p>First, create the main configuration tag that loads GA4 on all pages.\n* <strong>Tag: GA4 - Google Tag (Configuration)<\/strong>\n    * <strong>Tag Type:<\/strong> Google Analytics &gt; Google Tag\n    * <strong>Tag ID:<\/strong> Your GA4 Measurement ID (e.g., <code>G-XXXXXXXXXX<\/code>)\n    * <strong>Important:<\/strong> Uncheck the \"Send a page view event when this configuration loads\" box. We will send it manually with the next tag.\n    * <strong>Trigger:<\/strong> <code>All Pages<\/code><\/p>\n\n<p>Next, create the event tags that will send data from the <code>dataLayer<\/code> to Google Analytics.\n* <strong>Tag: GA4 - Event - PageView<\/strong>\n    * <strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event\n    * <strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.\n    * <strong>Event Name:<\/strong> <code>page_view<\/code>\n    * <strong>Trigger:<\/strong> <code>CE - PageView Meta<\/code><\/p>\n\n<ul>\n<li><p><strong>Tag: GA4 - Event - ViewItem<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>view_item<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>currency<\/code>, Value: <code>{{DLV - ecommerce.currency}}<\/code><\/li>\n<li>Parameter Name: <code>value<\/code>, Value: <code>{{DLV - ecommerce.value}}<\/code><\/li>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - View Item<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: GA4 - Event - AddToCart<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>add_to_cart<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>currency<\/code>, Value: <code>{{DLV - ecommerce.currency}}<\/code><\/li>\n<li>Parameter Name: <code>value<\/code>, Value: <code>{{DLV - ecommerce.value}}<\/code><\/li>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Add to Cart<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: GA4 - Event - BeginCheckout<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>begin_checkout<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>currency<\/code>, Value: <code>{{DLV - ecommerce.currency}}<\/code><\/li>\n<li>Parameter Name: <code>value<\/code>, Value: <code>{{DLV - ecommerce.value}}<\/code><\/li>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Begin Checkout<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: GA4 - Event - Purchase<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>purchase<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>transaction_id<\/code>, Value: <code>{{DLV - ecommerce.transaction_id}}<\/code><\/li>\n<li>Parameter Name: <code>currency<\/code>, Value: <code>{{DLV - ecommerce.currency}}<\/code><\/li>\n<li>Parameter Name: <code>value<\/code>, Value: <code>{{DLV - ecommerce.value}}<\/code><\/li>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Purchase<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: GA4 - Event - ViewItemList<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>view_item_list<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>item_list_name<\/code>, Value: <code>{{DLV - ecommerce.item_list_name}}<\/code><\/li>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - View Item List<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: GA4 - Event - ViewCart<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>view_cart<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>currency<\/code>, Value: <code>{{DLV - ecommerce.currency}}<\/code><\/li>\n<li>Parameter Name: <code>value<\/code>, Value: <code>{{DLV - ecommerce.value}}<\/code><\/li>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - View Cart<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: GA4 - Event - SelectItem<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>select_item<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Select Item<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: GA4 - Event - AddShippingInfo<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>add_shipping_info<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>currency<\/code>, Value: <code>{{DLV - ecommerce.currency}}<\/code><\/li>\n<li>Parameter Name: <code>value<\/code>, Value: <code>{{DLV - ecommerce.value}}<\/code><\/li>\n<li>Parameter Name: <code>shipping_tier<\/code>, Value: <code>{{DLV - ecommerce.shipping_method}}<\/code><\/li>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Add Shipping Info<\/code><\/li>\n<\/ul><\/li>\n<li><p><strong>Tag: GA4 - Event - AddPaymentInfo<\/strong><\/p>\n\n<ul>\n<li><strong>Tag Type:<\/strong> Google Analytics &gt; GA4 Event<\/li>\n<li><strong>Configuration Tag:<\/strong> Select your <code>GA4 - Google Tag (Configuration)<\/code> tag.<\/li>\n<li><strong>Event Name:<\/strong> <code>add_payment_info<\/code><\/li>\n<li><strong>Event Parameters:<\/strong>\n\n<ul>\n<li>Parameter Name: <code>currency<\/code>, Value: <code>{{DLV - ecommerce.currency}}<\/code><\/li>\n<li>Parameter Name: <code>value<\/code>, Value: <code>{{DLV - ecommerce.value}}<\/code><\/li>\n<li>Parameter Name: <code>payment_type<\/code>, Value: <code>{{DLV - ecommerce.payment_method}}<\/code><\/li>\n<li>Parameter Name: <code>items<\/code>, Value: <code>{{DLV - ecommerce.items}}<\/code><\/li>\n<\/ul><\/li>\n<li><strong>Trigger:<\/strong> <code>CE - Add Payment Info<\/code><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>After creating all tags, submit and publish your GTM container.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20replace%20the%20meta%20pixel%3F\"><h3>Does this plugin replace the Meta Pixel?<\/h3><\/dt>\n<dd><p>No, it works alongside it. The plugin sends server-side (CAPI) events, while GTM handles the browser-side Pixel. Both use the same <code>event_id<\/code>, so Meta merges them automatically without counting anything twice.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20this%20and%20a%20gtm%20server%20container%3F\"><h3>What is the difference between this and a GTM Server Container?<\/h3><\/dt>\n<dd><p>A GTM Server Container runs on Google Cloud and costs money every month. This plugin does the same job directly from your WordPress server \u2014 no extra infrastructure, no extra bill.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20caching%20plugins%20%28wp%20rocket%2C%20litespeed%2C%20etc.%29%3F\"><h3>Does it work with page caching plugins (WP Rocket, LiteSpeed, etc.)?<\/h3><\/dt>\n<dd><p>Yes. PageView and ViewCategory events fire from JavaScript, so they work even on fully cached pages. Cart, checkout, and purchase pages are not cached by default.<\/p><\/dd>\n<dt id=\"what%20plugins%20are%20required%3F\"><h3>What plugins are required?<\/h3><\/dt>\n<dd><p>WooCommerce. That's it. If you use other GTM plugins (like Google Site Kit), disable their e-commerce features to avoid conflicts.<\/p><\/dd>\n<dt id=\"is%20there%20a%20pro%20version%3F\"><h3>Is there a pro version?<\/h3><\/dt>\n<dd><p>No. Everything is included.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.2.1<\/h4>\n\n<ul>\n<li>Fix: PageView event now fires correctly on first page load \u2014 dataLayer push no longer blocked by deferred script loaders (WP Rocket, LiteSpeed, etc.). Meta Pixel Helper will detect the pixel immediately.<\/li>\n<li>Fix: GA4 product price field renamed from <code>item_price<\/code> to <code>price<\/code> to match GA4 standard. Fixes zero revenue in GA4 Item Revenue reports.<\/li>\n<li>Fix: Real client IP detection for sites behind Cloudflare, AWS CloudFront, or Nginx reverse proxy. Improves Meta Event Match Quality (EMQ) scores.<\/li>\n<li>Fix: Resolved plugin check warnings for unescaped DB parameters and missing translators comments.<\/li>\n<\/ul>\n\n<h4>3.2.0<\/h4>\n\n<ul>\n<li>Improvement: Updated Meta Graph API from v21.0 to v25.0 for continued compatibility.<\/li>\n<li>Improvement: Meta API access token now sent via Authorization header instead of URL parameter (security best practice).<\/li>\n<li>Fix: Fixed Pinterest CAPI event mapping - ViewContent now correctly maps to <code>view_content<\/code> instead of <code>page_visit<\/code>.<\/li>\n<li>Fix: Fixed Pinterest CAPI ViewCategory event - now uses native <code>view_category<\/code> event instead of <code>search<\/code>.<\/li>\n<li>Fix: Fixed Pinterest CAPI custom_data field names to match official API spec (<code>contents<\/code> instead of <code>line_items<\/code>, correct sub-field names).<\/li>\n<li>Fix: Added Pinterest CAPI mappings for <code>add_payment_info<\/code> and <code>view_category<\/code> events.<\/li>\n<li>Fix: Fixed GTM container template (broken JSON due to trailing comma and 10 malformed GA4 variable references). Template import now works correctly.<\/li>\n<li>Security: Fixed all output escaping issues flagged by WordPress Plugin Check.<\/li>\n<li>Security: Improved input sanitization and wp_unslash handling for cookies and POST data.<\/li>\n<li>Security: Restructured admin request handlers to verify nonces before accessing POST data.<\/li>\n<li>Standards: Renamed global functions to use the <code>mcapi_<\/code> prefix per WordPress naming conventions.<\/li>\n<li>Standards: Added translators comments for all translatable strings with placeholders.<\/li>\n<li>Standards: Added proper phpcs:ignore annotations for legitimate direct database operations.<\/li>\n<li>Standards: Added version parameter to enqueued scripts.<\/li>\n<li>Standards: Fixed uninstall.php with ABSPATH check and prefixed global variables.<\/li>\n<li>Performance: CAPI events are now queued in a database table and sent in batches every 60 seconds. A single HTTP request can carry up to 100 events, reducing server load by ~98% on high-traffic sites. Falls back to synchronous if the queue table is unavailable.<\/li>\n<li>Improvement: Added block checkout compatibility for AddShippingInfo and AddPaymentInfo events. These now fire correctly on both classic and block-based WooCommerce checkout.<\/li>\n<li>Improvement: Block checkout user data capture (billing info) now works for improved Event Match Quality.<\/li>\n<li>Improvement: Added WooCommerce HPOS (High-Performance Order Storage) compatibility declaration.<\/li>\n<li>Improvement: Enhanced event log - failures now show platform name (Meta\/Pinterest) and all event types are filterable.<\/li>\n<li>Improvement: Event statistics table now includes PageView and Search metrics.<\/li>\n<li>Improvement: Added jQuery as explicit script dependency for frontend events.<\/li>\n<li>Improvement: Removed review and donation prompts from the admin panel for a cleaner UI.<\/li>\n<li>Improvement: Added WooCommerce version headers to readme.txt.<\/li>\n<li>Improvement: Dataset quality report now dynamically uses the current plugin version.<\/li>\n<li>Fix: PageView and ViewCategory CAPI events now fire via JavaScript AJAX, making them compatible with full-page cache (Varnish, Redis, Cloudflare).<\/li>\n<li>Fix: Sanitization function now preserves numeric data types (float\/int) instead of converting to strings, preventing API event rejections.<\/li>\n<li>Fix: Added WooCommerce dependency check - shows admin notice instead of fatal error if WooCommerce is deactivated.<\/li>\n<li>Fix: Log clearing now uses DELETE instead of TRUNCATE for compatibility with restricted database permissions on shared hosts.<\/li>\n<li>Fix: Added composite database index (event_name, event_time) for faster log queries on high-traffic sites.<\/li>\n<\/ul>\n\n<h4>3.1.1<\/h4>\n\n<ul>\n<li>Fix: Minor bug fixes and stability improvements.<\/li>\n<\/ul>\n\n<h4>3.1.0<\/h4>\n\n<ul>\n<li>Major Feature: Added detailed tracking for checkout funnel steps: 'Add Shipping Info' and 'Add Payment Info' events for deeper analysis of cart abandonment.<\/li>\n<li>Major Feature: Added 'Select Item' event tracking for analyzing product clicks from category and shop pages.<\/li>\n<li>Major Feature: Added a new admin setting to choose the Product Identifier for events (SKU with fallback to ID, or ID Only), making the plugin flexible for stores without SKUs.<\/li>\n<li>Improvement: Significantly enriched Pinterest CAPI user data to improve match rates, mirroring the data sent to Meta.<\/li>\n<li>Improvement: Corrected Pinterest CAPI event mapping for 'InitiateCheckout' to improve funnel accuracy.<\/li>\n<\/ul>\n\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Major Improvement: Enriched the 'view_item_list' (Category View) event for GA4, now including the full list of products displayed on the page for advanced analytics.<\/li>\n<li>New Feature: Added comprehensive tracking for the 'remove_from_cart' event, providing deeper insights into cart abandonment.<\/li>\n<li>New Feature: Added tracking for the 'login' event to the dataLayer for GA4 and CAPI.<\/li>\n<li>Improvement: Enriched the 'Purchase' event dataLayer with coupon codes, payment method, and shipping method details.<\/li>\n<li>Improvement: Enhanced the Pinterest CAPI 'add_to_cart' event to include detailed product line items, improving data quality.<\/li>\n<li>Security: Hardened the AJAX event handler with recursive sanitization for all incoming data, improving overall security.<\/li>\n<\/ul>\n\n<h4>2.9.0<\/h4>\n\n<ul>\n<li>Improvement: View Category and GA4 settings<\/li>\n<\/ul>\n\n<h4>2.8.0<\/h4>\n\n<ul>\n<li>Fix: Pinterest external_id and click_id.<\/li>\n<\/ul>\n\n<h4>2.7.0<\/h4>\n\n<ul>\n<li>Fix: Duplicate pageview fix.<\/li>\n<\/ul>\n\n<h4>2.6.0<\/h4>\n\n<ul>\n<li>Fix: Pinterest line_items fix.<\/li>\n<\/ul>\n\n<h4>2.5.0<\/h4>\n\n<ul>\n<li>Fix: AddToCart fix.<\/li>\n<\/ul>\n\n<h4>2.4.0<\/h4>\n\n<ul>\n<li>Fix: Pinterest data format fix.<\/li>\n<\/ul>\n\n<h4>2.3.0<\/h4>\n\n<ul>\n<li>Major Feature: Full Pinterest Conversions API (CAPI) and Pixel integration.<\/li>\n<li>Improvement: Added a robust AJAX-based tracking method for the 'AddToCart' event to ensure it fires correctly with all themes and caching systems.<\/li>\n<li>Improvement: Enhanced 'PageView' event tracking with a dedicated dataLayer push to ensure perfect deduplication between browser and server events.<\/li>\n<li>Improvement: Redesigned the admin panel by merging Meta and Pinterest settings into a unified tab.<\/li>\n<li>Improvement: Enhanced the event log to display the platform (Meta\/Pinterest) for each successful event.<\/li>\n<li>Improvement: Added a manual \"Refresh Log\" button to the admin panel to bypass caching and view real-time event data.<\/li>\n<li>Housekeeping: General code refinements and WordPress standards alignment for repository submission.<\/li>\n<\/ul>\n\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Improvement: Developments for improved Event Match Quality.<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>Security: Added nonce checks for admin forms to prevent CSRF vulnerabilities.<\/li>\n<li>Security: Implemented late escaping for all echoed variables in the admin panel to prevent XSS.<\/li>\n<li>Security: Hardened database queries by ensuring all parts of the query are properly prepared.<\/li>\n<li>Security: Sanitized all <code>$_SERVER<\/code> superglobal inputs to prevent potential injection issues.<\/li>\n<li>Documentation: Added a required \"External Services\" section to the readme.txt to disclose the use of the Meta Conversion API.<\/li>\n<li>Housekeeping: Bumped version number.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Major Feature: Added Google Tag Manager (GTM) container script injection. The plugin is now an all-in-one solution.<\/li>\n<li>Major Feature: Unified Data Layer for both CAPI and GTM to enable flawless event deduplication.<\/li>\n<li>Improvement: Added a GTM Container ID field to the admin settings.<\/li>\n<li>Housekeeping: Updated plugin name and description to reflect new GTM capabilities.<\/li>\n<\/ul>\n\n<h4>1.8.0<\/h4>\n\n<ul>\n<li>Feature: Added first name, last name, and phone hashing (fn, ln, ph) for improved Event Match Quality.<\/li>\n<\/ul>\n\n<h4>1.7.0<\/h4>\n\n<ul>\n<li>Improvement: Enhanced overall security.<\/li>\n<\/ul>\n\n<h4>1.6.0<\/h4>\n\n<ul>\n<li>Improvement: Updated admin panel UI\/UX for better usability.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Feature: Added Dataset Quality API report submission on Pixel ID change.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Feature: Added server-side PageView event tracking.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Improvement: Optimized performance of event tracking hooks.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Security: Hardened database queries and improved input sanitization.<\/li>\n<li>Standardization: Added full translation support and aligned code with WordPress.org best practices.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Feature: Added dashboard with event statistics.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<\/ul>","raw_excerpt":"Free server-side CAPI for Meta &amp; Pinterest + GTM dataLayer. No cloud server needed, no premium tier.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/249247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=249247"}],"author":[{"embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/suhanduman"}],"wp:attachment":[{"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=249247"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=249247"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=249247"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=249247"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=249247"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ko.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=249247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}