{"id":13417285,"url":"https://github.com/stafyniaksacha/vite-plugin-radar","last_synced_at":"2025-05-15T19:09:38.504Z","repository":{"id":45080295,"uuid":"346157842","full_name":"stafyniaksacha/vite-plugin-radar","owner":"stafyniaksacha","description":"All in one analytics loader for vite","archived":false,"fork":false,"pushed_at":"2025-04-04T15:08:13.000Z","size":361,"stargazers_count":153,"open_issues_count":8,"forks_count":16,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-08T16:08:12.125Z","etag":null,"topics":["advertising","analytics","insight","metrics","pixel","vite","vite-plugin"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stafyniaksacha.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-09T22:10:24.000Z","updated_at":"2025-05-07T08:17:57.000Z","dependencies_parsed_at":"2023-12-01T00:22:23.470Z","dependency_job_id":"6af695c1-18ac-4998-8f7f-9c58673802f4","html_url":"https://github.com/stafyniaksacha/vite-plugin-radar","commit_stats":{"total_commits":26,"total_committers":7,"mean_commits":"3.7142857142857144","dds":0.5769230769230769,"last_synced_commit":"83585fa6e9eeeb61ba6d7e82a1ca9b140723e99d"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stafyniaksacha%2Fvite-plugin-radar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stafyniaksacha%2Fvite-plugin-radar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stafyniaksacha%2Fvite-plugin-radar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stafyniaksacha%2Fvite-plugin-radar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stafyniaksacha","download_url":"https://codeload.github.com/stafyniaksacha/vite-plugin-radar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254404357,"owners_count":22065641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["advertising","analytics","insight","metrics","pixel","vite","vite-plugin"],"created_at":"2024-07-30T22:00:34.919Z","updated_at":"2025-05-15T19:09:38.474Z","avatar_url":"https://github.com/stafyniaksacha.png","language":"TypeScript","funding_links":[],"categories":["Plugins","TypeScript"],"sub_categories":["Framework-agnostic Plugins"],"readme":"# vite-plugin-radar\n\nAnalytics loader for vite that support Google Analytics, Google Tag Manager, Facebook Pixel,\nLinkedin Insight, Yandex Metrica, Baidu Tongji, Microsoft Advertising and Unbounce\n\n### Install\n\n```sh\nnpm i --save-dev vite-plugin-radar # yarn add -D vite-plugin-radar\n```\n\n### Add it to vite.config.js\n\n```ts\n// vite.config.js\nimport { VitePluginRadar } from 'vite-plugin-radar'\n\nexport default {\n  plugins: [\n    VitePluginRadar({\n      // Google Analytics tag injection\n      analytics: {\n        id: 'G-XXXXX',\n      },\n    })\n  ],\n}\n```\n\n## Options\n\n```ts\n// vite.config.js\nimport { VitePluginRadar } from 'vite-plugin-radar'\n\nexport default {\n  plugins: [\n    VitePluginRadar({\n      /**\n       * enable or disable scripts injection in development\n       * default: false\n       */\n      enableDev: true,\n\n      // Google Analytics (multiple tag can be set with an array)\n      analytics: [\n        {\n          /**\n           * Measurement id\n           */\n          id: 'G-XXXXX',\n\n          /**\n           * disable tracking for this measurement\n           *   window['ga-disable-MEASUREMENT_ID'] = true\n           * @see https://developers.google.com/analytics/devguides/collection/ga4/disable-analytics\n           */\n          disable: true,\n\n          /**\n           * You can configure all settings provided by analytics here\n           * @see https://developers.google.com/analytics/devguides/collection/ga4/cookies-user-id\n           * @see https://developers.google.com/analytics/devguides/collection/ga4/disable-page-view\n           * @see https://developers.google.com/analytics/devguides/collection/ga4/display-features\n           */\n          config: {\n            cookie_domain: 'auto',\n            cookie_expires: 63072000,\n            cookie_prefix: 'none',\n            cookie_update: true,\n            cookie_flags: '',\n            send_page_view: true,\n            allow_google_signals: true,\n            allow_ad_personalization_signals: true,\n          },\n\n          /**\n           * Set default values for \"consent mode\"\n           * @see https://developers.google.com/tag-platform/devguides/consent\n           * @see https://support.google.com/analytics/answer/9976101\n           */\n          consentDefaults: {\n            analytics_storage: 'granted',\n            ad_storage: 'denied',\n            wait_for_update: 500\n          },\n\n          /**\n           * You set persitent values\n           * @see https://developers.google.com/analytics/devguides/collection/ga4/persistent-values\n           */\n          persistentValues: {\n            currency: 'USD',\n          }\n        },\n        // You can add as many measurement id as you need\n        {\n          id: 'UA-YYYYY',\n        },\n      ],\n\n      // Google Tag Manager (multiple tag can be set with an array)\n      gtm: [\n        {\n          id: 'GTM-XXXXX',\n\n          // You can set custom source for gtm script and noscript\n          gtmBase: 'https://www.custom.com/gtm.js',\n          nsBase: 'https://www.custom.com/ns.html',\n          // You can optionally define the environment for the gtm.\n          environment: {\n            auth: 'X1YzAB2CDEFGh3ijklmnoP',\n            preview: 'env-x',\n          },\n        }\n      ],\n\n      // Facebook Pixel (multiple tag can be set with an array)\n      pixel: [\n        {\n          id: 'XXXXXXX',\n        }\n      ],\n\n      // VK Retargeting (multiple tag can be set with an array)\n      retargeting: [\n        {\n          id: 'VK-RTRG-XXXXXX-XXXXX',\n        }\n      ],\n\n      // Linkedin Insight (multiple tag can be set with an array)\n      linkedin: [\n        {\n          id: 'XXXXXXX',\n        }\n      ],\n\n      // Baidu Tongji (multiple tag can be set with an array)\n      tongji: [\n        {\n          id: 'XXXXXXX',\n        }\n      ],\n\n      // Yandex Metrica (multiple tag can be set with an array)\n      metrica: [\n        {\n          id: 'XXXXXXX',\n\n          /**\n           * You can configure all settings provided by metrika here\n           * @see https://yandex.com/support/metrica/code/counter-initialize.html\n           */\n          config: {\n            defer: true,\n            clickmap: true,\n            trackLinks: true,\n            accurateTrackBounce: true,\n            childIframe: true,\n            webvisor: true,\n            trackHash: true,\n            triggerEvent: true,\n            ecommerce: 'dataLayer',\n            trustedDomains: ['example.com'],\n            type: 0,\n            params: {},\n            userParams: {}\n          }\n        }\n      ],\n\n      // Microsoft Analytics (only one tag can be set)\n      microsoft: {\n        id: 'XXXXX'\n      },\n\n      // Microsoft Clarity (only one tag can be set)\n      microsoftClarity: {\n        id: 'XXXXX'\n      },\n\n      // Hotjar Analytics (only one tag can be set)\n      hotjar: {\n        id: 1000000\n      },\n\n      // Full story Analytics (only one tag can be set)\n      fullStory: {\n        org: 'X-XXXXXX-XXX',\n        host: 'fullstory.com',\n        script: 'edge.fullstory.com/s/fs.js',\n        namespace: 'FS',\n      },\n\n      // Unbounce conversion analytics\n      // Can also be enabled like so: `unbounce: true`\n      unbounce: {\n        enabled: true, // or false\n        // You can set a custom location or use the default one for unbounce\n        script: 'd3pkntwtp2ukl5.cloudfront.net/uba.js'\n      },\n\n      // TikTok Pixel Analytics (only one tag can be set)\n      tiktok: {\n        id: 1000000,\n        // You can set a custom location or use the default one for TikTok\n        script: 'analytics.tiktok.com/i18n/pixel/events.js'\n      },\n\n      // SimpleAnalytics\n      simpleanalytics: {\n        enabled: true, // or false\n        /**\n         * You can overwrite domain name (optional)\n         * @see https://docs.simpleanalytics.com/overwrite-domain-name\n         */\n        hostname: 'example.com',\n        /**\n         * You can configure a proxy (optional)\n         * @see https://docs.simpleanalytics.com/proxy\n         */\n        script: 'https://example.com/proxy.js',\n        noScript: 'https://example.com/simple/noscript.gif'\n      },\n\n      // Posthog\n      posthog: {\n        enabled: true, // or false\n        token: 'phc_XXXXXXXXXXXXXXXXXXXXXXXX', // Find this on https://us.posthog.com/project/settings/project-details#variables\n        api_host: 'https://us.i.posthog.com',\n\n        // Optional configuration passed to the PostHog initialization script\n        // NOTE: Because we're marshalling the config into a string, we can't support all of the options\n        // namely the ones that are functions.\n        // @see https://posthog.com/docs/libraries/js#config\n        //\n        // If you need support for more options, you will need to configure PostHog manually.\n        config: {},\n      },\n\n      // Plausible\n      plausible: {\n        enabled: true, // or false\n        /**\n         * You can overwrite domain name to send stats to multiple Plausible dashboards (optional)\n         * @see https://plausible.io/docs/plausible-script#can-i-send-stats-to-multiple-dashboards-at-the-same-time\n         */\n        hostname: 'example.com',\n        /**\n         * You can configure a proxy (optional)\n         * @see https://plausible.io/docs/proxy/introduction\n         */\n        script: 'example.com/js/script.js',\n      },\n    })\n  ],\n}\n```\n\n## Resources\n\n- https://developers.google.com/analytics/devguides/collection/ga4\n- https://developers.google.com/tag-manager/quickstart\n- https://developers.facebook.com/docs/facebook-pixel/implementation\n- https://www.linkedin.com/help/lms/answer/a427660\n- https://yandex.com/support/metrica/quick-start.html\n- https://tongji.baidu.com/open/api/more\n- https://vk.com/faq14080\n- https://help.ads.microsoft.com/#apex/ads/en/ext60065/\n- https://help.hotjar.com/hc/en-us/articles/115009336727-How-to-Install-Your-Hotjar-Tracking-Code\n- https://help.fullstory.com/hc/en-us/articles/360020623514-Installing-the-FullStory-Script#:~:text=Install%20your%20snippet%20directly%20on,closing%20tag.\n- https://documentation.unbounce.com/hc/en-us/articles/203879180-Setting-Conversion-Goals-in-the-Classic-Builder\n- https://posthog.com/docs/libraries/js\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstafyniaksacha%2Fvite-plugin-radar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstafyniaksacha%2Fvite-plugin-radar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstafyniaksacha%2Fvite-plugin-radar/lists"}