{"id":25701773,"url":"https://github.com/prabapro/ga4-payload-parser","last_synced_at":"2026-06-08T23:01:28.235Z","repository":{"id":276635314,"uuid":"929776117","full_name":"prabapro/ga4-payload-parser","owner":"prabapro","description":"Easily decode and analyze Google Analytics 4 (GA4) payloads in a readable format. This tool supports both standard URL-encoded parameters and Base64-encoded payloads, including those from tools like Stape Data Tag and the Stape's GA4 ad block bypass Powerup.","archived":false,"fork":false,"pushed_at":"2025-02-14T08:23:01.000Z","size":236,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-13T03:42:42.230Z","etag":null,"topics":["ga4","google-analytics-4","gtm","reactjs","stape"],"latest_commit_sha":null,"homepage":"https://ga4-payload-parser.netlify.app","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/prabapro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-02-09T11:28:20.000Z","updated_at":"2025-07-30T22:38:33.000Z","dependencies_parsed_at":"2025-02-09T15:27:48.941Z","dependency_job_id":"c0c7b6f6-bd16-4021-a47e-b1eea0352442","html_url":"https://github.com/prabapro/ga4-payload-parser","commit_stats":null,"previous_names":["prabapro/ga4-payload-parser"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prabapro/ga4-payload-parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabapro%2Fga4-payload-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabapro%2Fga4-payload-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabapro%2Fga4-payload-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabapro%2Fga4-payload-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prabapro","download_url":"https://codeload.github.com/prabapro/ga4-payload-parser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prabapro%2Fga4-payload-parser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34083848,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ga4","google-analytics-4","gtm","reactjs","stape"],"created_at":"2025-02-25T04:18:59.768Z","updated_at":"2026-06-08T23:01:28.202Z","avatar_url":"https://github.com/prabapro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GA4 Payload Parser\n\nA modern React application built with TypeScript for decoding and analyzing Google Analytics 4 (GA4) payloads. This tool helps developers and analysts inspect GA4 requests in a human-readable format.\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.7.3-blue.svg)](https://www.typescriptlang.org/)\n[![React](https://img.shields.io/badge/React-19.0.0-blue.svg)](https://reactjs.org/)\n[![Vite](https://img.shields.io/badge/Vite-6.1.0-646CFF.svg)](https://vitejs.dev/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.4.14-38B2AC.svg)](https://tailwindcss.com/)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n\n## Features\n\n- 🔄 Supports both Base64-encoded and URL-encoded GA4 payloads\n- 🔍 Advanced parameter searching and filtering\n- 📱 Responsive design with dark mode support\n- 📋 Request history with local storage\n- 🎨 Modern UI built with shadcn/ui components\n- 🔒 Client-side only - no server required\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/prabapro/ga4-payload-parser.git\ncd ga4-payload-parser\n```\n\n2. Install dependencies:\n\n```bash\npnpm install\n```\n\n3. Start the development server:\n\n```bash\npnpm dev\n```\n\nVisit `http://localhost:5173` to view the application.\n\n## Usage\n\n1. Copy your GA4 payload URL or query string\n2. Paste it into the decoder input field\n3. Click \"Decode\" to analyze the parameters\n4. Use the search functionality to find specific parameters\n5. View previous requests in the history sidebar\n\n## Example Payloads\n\nThe decoder can handle both Base64-encoded and URL-encoded payloads:\n\n### Encoded Payload (Base64)\n\n```sh\nhttps://analytics.example.com/collect?e44f730e=L2cvY29sbGVjdD92PTImdGlkPUctQUJDREVGMTIzNCZndG09NDVqZTUyNDB2OTE5NzgyNDY1Nno4OTE4MjY4MDA1MHphMjA0emI5MTgyNjgwMDUwJl9wPTE3MzkyMDM5MzgwMDYmZ2NkPTEzbDNsM2wzbDFsMSZucGE9MCZkbWE9MCZ0YWdfZXhwPTEwMjA2NzgwOH4xMDIwODE0ODV%2BMTAyMTIzNjA4fjEwMjQ4MjQzM34xMDI1Mzk5Njh%2BMTAyNTU4MDY0fjEwMjU4NzU5MX4xMDI2MDU0MTcmZ2RpZD1kTURnMFl6JmNpZD0xNDg5MDc0OTQ5LjE3Mzg5ODAzMTImZWNpZD0xMzcyNjc4NzQ2JnVsPWVuLXVzJnNyPTI1NjB4MTQ0MCZfZnBsYz0wJnVyPUxLJnVhYT1hcm0mdWFiPTY0JnVhZnZsPU5vdCUyNTIwQShCcmFuZCUzQjguMC4wLjAlN0NDaHJvbWl1bSUzQjEzMi4wLjY4MzQuMTYyJTdDR29vZ2xlJTI1MjBDaHJvbWUlM0IxMzIuMC42ODM0LjE2MiZ1YW1iPTAmdWFtPSZ1YXA9bWFjT1MmdWFwdj0xNS4zLjAmdWF3PTAmYXJlPTEmZnJtPTEmcHNjZGw9bm9hcGkmZWNfbW9kZT1jJl9ldT1JSUEmc3N0LmV0bGQ9ZXhhbXBsZS5jb20mc3N0LnRmdD0xNzM5MjAzOTM4MDA2JnNzdC5scGM9MTM0NjEyMDY3JnNzdC5uYXZ0PW4mc3N0LnVkZT0wJl9zPTUmY3U9VVNEJmRsPWh0dHBzJTNBJTJGJTJGZXhhbXBsZS5jb20lMkZjaGVja291dHMlMkZjbiUyRloyTndMWFZ6TFdWaGMzUXhPakF4U2t0U1FUTldSbEpOVTFGS09FSkRTMVpGV0RCRU4xbFQmc2lkPTE3MzkyMDM5MDUmc2N0PTgmc2VnPTEmZHI9aHR0cHMlM0ElMkYlMkZleGFtcGxlLmNvbSUyRnByb2R1Y3RzJTJGZXhhbXBsZS10LXNoaXJ0JmR0PUNoZWNrb3V0JTIwLSUyMEV4YW1wbGUlMjBTdG9yZSZlbj1wdXJjaGFzZSZfYz0xJnByMT1pZDgwMDMxNzA2NjQ1NDh%2BdmE0NTIzNjk5ODUzNzMxNn5ubUV4YW1wbGUlMjBULVNoaXJ0fmt2YXJpYW50X25hbWV%2BdjBMaXRob2dyYXBoJTIwLSUyMEhlaWdodCUzQSUyMDklMjIlMjB4JTIwV2lkdGglM0ElMjAxMiUyMn5jYVNoaXJ0c35ickFjbWV%2BazFpdGVtX3VybH52MSUyRnByb2R1Y3RzJTJGZXhhbXBsZS10LXNoaXJ0fnByNzYwMH5rMmltYWdlVVJMfnYyaHR0cHMlM0ElMkYlMkZjZG4uc2hvcGlmeS5jb20lMkZzJTJGZmlsZXMlMkYxJTJGMDY5MyUyRjc2OTMlMkYzOTg4JTJGZmlsZXMlMkZncmVlbi10LXNoaXJ0XzY0eDY0LmpwZyUzRnYlM0QxNzM4OTc4NjgyfnF0MSZlcC5ldmVudF9pZD0xNzM4OTgwNzM2ODk5XzE3MzkyMDQ4NzYyMDMyMiZlcC52YWx1ZT03NjMwJmVwLmNhcnRfdG90YWw9NzYzMCZlcG4uY2FydF9xdWFudGl0eT0xJmVwbi50YXg9MCZlcG4uc2hpcHBpbmc9MzAmZXAudHJhbnNhY3Rpb25faWQ9NTUwMjk2MjgyNzM2NCZlcG4uc3ViX3RvdGFsPTc2MDAmZXAudXNlcl9kYXRhLmVtYWlsPXVzZXIlNDBleGFtcGxlLmNvbSZlcC51c2VyX2RhdGEuYWRkcmVzcy5maXJzdF9uYW1lPUpvaG4mZXAudXNlcl9kYXRhLmFkZHJlc3MubGFzdF9uYW1lPURvZSZlcC51c2VyX2RhdGEuYWRkcmVzcy5zdHJlZXQ9MTIzJTIwTWFpbiUyMFN0JmVwLnVzZXJfZGF0YS5hZGRyZXNzLmNpdHk9TmV3JTIwWW9yayZlcC51c2VyX2RhdGEuYWRkcmVzcy5yZWdpb249TlkmZXAudXNlcl9kYXRhLmFkZHJlc3MuY291bnRyeT1VU0EmZXAudXNlcl9kYXRhLmFkZHJlc3MucG9zdGFsX2NvZGU9MTAwMDEmdGZkPTEzMzk2JnJpY2hzc3Rzc2U%3D\n```\n\n### Unencoded Payload\n\n```sh\nhttps://analytics.example.com/collect?v=2\u0026tid=G-ABCDEF1234\u0026gtm=45je5240v919782465z891826800za204zb91826800\u0026_p=1739203938006\u0026gcd=13l3l3l3l1l1\u0026npa=0\u0026dma=0\u0026tag_exp=102067808~102081485~102123608~102482433~102539968~102558064~102587591~102605417\u0026gdid=dMDg0Yz\u0026cid=1489074949.1738980312\u0026ecid=137267874\u0026ul=en-us\u0026sr=2560x1440\u0026_fplc=0\u0026ur=\u0026uaa=arm\u0026uab=64\u0026uafvl=Not%2520A(Brand%3B8.0.0.0%7CChromium%3B132.0.6834.162%7CGoogle%2520Chrome%3B132.0.6834.162\u0026uamb=0\u0026uam=\u0026uap=macOS\u0026uapv=15.3.0\u0026uaw=0\u0026are=1\u0026frm=1\u0026pscdl=noapi\u0026ec_mode=c\u0026_eu=IIA\u0026sst.etld=example.com\u0026sst.tft=1739203938006\u0026sst.lpc=134612067\u0026sst.navt=n\u0026sst.ude=0\u0026_s=5\u0026cu=USD\u0026dl=https%3A%2F%2Fexample.com%2Fcheckouts%2Fcn%2FZ2NwLXVzLWVhc3QxOjAxSktSQTNWRlJNUTFKOEJDS1ZFWDBFN1lT\u0026sid=1739203905\u0026sct=8\u0026seg=1\u0026dr=https%3A%2F%2Fexample.com%2Fproducts%2Fexample-t-shirt\u0026dt=Checkout%20-%20Example%20Store\u0026en=purchase\u0026_c=1\u0026pr1=id800317066454~va452369985373~nmExample%20T-Shirt~kvariant_name~v0Lithograph%20-%20Height%3A%209%22%20x%20Width%3A%2012%22~caShirts~brAcme~k1item_url~v1%2Fproducts%2Fexample-t-shirt~pr7600~k2imageURL~v2https%3A%2F%2Fcdn.shopify.com%2Fs%2Ffiles%2F1%2F0693%2F7693%2F3988%2Ffiles%2Fgreen-t-shirt_64x64.jpg%3Fv%3D1738978682~qt1\u0026ep.event_id=1738980736899_1739204876203\u0026ep.value=7630\u0026ep.cart_total=7630\u0026epn.cart_quantity=1\u0026epn.tax=0\u0026epn.shipping=30\u0026ep.transaction_id=5502962827364\u0026epn.sub_total=7600\u0026ep.user_data.email=user%40example.com\u0026ep.user_data.address.first_name=John\u0026ep.user_data.address.last_name=Doe\u0026ep.user_data.address.street=123%20Main%20St\u0026ep.user_data.address.city=New%20York\u0026ep.user_data.address.region=NY\u0026ep.user_data.address.country=USA\u0026ep.user_data.address.postal_code=10001\u0026tfd=13396\u0026richsstsse\n```\n\n## Development\n\n### Prerequisites\n\n- Node.js 18.0.0 or higher\n- pnpm 8.0.0 or higher\n\n### Available Scripts\n\n```bash\n# Start development server\npnpm dev\n\n# Build for production\npnpm build\n\n# Preview production build\npnpm preview\n\n# Run linting\npnpm lint\n\n# Format code\npnpm format\n```\n\n### Tech Stack\n\n- [React](https://reactjs.org/)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Vite](https://vitejs.dev/)\n- [Tailwind CSS](https://tailwindcss.com/)\n- [shadcn/ui](https://ui.shadcn.com/)\n- [Lucide Icons](https://lucide.dev/)\n\n## Project Structure\n\n```\n.\n├── src/\n│   ├── components/\n│   │   ├── features/    # Feature-specific components\n│   │   ├── layout/      # Layout components\n│   │   └── ui/          # UI components from shadcn/ui\n│   ├── hooks/           # Custom React hooks\n│   ├── lib/             # Utility functions\n│   └── styles/          # Global styles\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprabapro%2Fga4-payload-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprabapro%2Fga4-payload-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprabapro%2Fga4-payload-parser/lists"}