Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Google Bundle Laravel Package

znanylekarz/google-bundle

A Symfony bundle from ZnanyLekarz for integrating Google APIs into PHP applications. It provides service wiring and configuration helpers so you can connect Google-powered features without repetitive client setup. Useful for Symfony projects that need a lightweight bridge to Google services.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. znanylekarz/google-bundle is a Symfony Bundle, not a Laravel package. Bundles are the Symfony 2/3 extension unit; they rely on Bundle subclasses, XML/YAML service definitions, and Twig extensions registered via the bundle's extension class. This is fundamentally incompatible with Laravel's service-provider/container model, and structurally dated even for Symfony — Symfony 4+ moved to symfony/flex recipes and non-bundle third-party packages. The package would not install cleanly into a modern Symfony (6/7) or Laravel app without aliasing composer constraints and porting the wiring.

Integration feasibility. Two blockers:

  1. Framework mismatch. To use this in Laravel you would have to extract individual classes (GA tracker, AdWords client, Maps Static signer) and drop the bundle scaffolding — at which point you have effectively vendored a subset of an abandoned library.
  2. API obsolescence. The GA feature set ("Async Integration, Multi-Tracker, Page View Queue, Ecommerce") targets the ga.js / early analytics.js model, i.e. Universal Analytics, which stopped ingesting data in July 2023. GA4 uses a different data model and a separate Measurement Protocol. AdWords was rebranded Google Ads and the AdWords API was sunset in 2022. So two of the three advertised integrations are already dead APIs. Only Static Maps remains conceptually valid, and that is trivial to implement directly.

Technical risk. High. Signals: 1 star, 0 dependents, score 0.005 — effectively no ecosystem validation. No vendor support. Old Symfony/PHP constraints almost certainly prevent Composer from resolving on PHP 8.2+. Likely transitive dependencies on abandoned packages (old Guzzle, old Symfony components). Server-side analytics also raises correctness concerns (bot filtering, consent/ GDPR handling, IP anonymization) that a decade-old bundle does not address.

Key questions.

  • Why is this a candidate at all — is the team maintaining a legacy Symfony 2/3 app, or is this a copy-paste of a search result?
  • Which GA is the requirement — UA (nothing to do) or GA4 Measurement Protocol (use a maintained SDK or a thin in-house client)?
  • Which Google Ads API version, and is this for campaign management (Google Ads API) or conversion tracking (gtag / Measurement Protocol)?
  • Is the Maps requirement simply "build a signed Static Maps URL"? If yes, that's ~30 lines, not a dependency.
  • What is the license (likely MIT from DocPlanner) and what is the last commit date? Either way, treat it as reference source, not a runtime dependency.
  • What is the security exposure of an API key used for Maps signing — does the bundle keep it server-side, or does it leak into templates?

Integration Approach

Stack fit. Poor. Not a fit for Laravel or modern Symfony. Fits only Symfony 2.x/3.x on PHP 5.5–7.x. If the target stack is Laravel 10/11 on PHP 8.2+, this package is not installable.

Migration path.

  • GA: GA4 Measurement Protocol — implement a small HTTP client (Guzzle/HTTP facade) that posts to https://www.google-analytics.com/mp/collect. Queue it (Laravel dispatch, Symfony Messenger) to honor the bundle's "Page View Queue" spirit without its code.
  • Google Ads: googleads/googleads-php-lib (official), with proper OAuth2 refresh-token handling.
  • Maps Static: implement signed URLs via HMAC-SHA1 with the URL-signing secret — no bundle needed.

Compatibility. Before considering adoption in any form, inspect composer.json for symfony/* and php constraints and run composer why-not against the target stack. Expect failures. Also grep for abandoned transitive dependencies.

Sequencing. If you insist on evaluating:

  1. Read the source (half a day) — the Maps Static signer and the queue abstraction are the only pieces with residual value.
  2. Prototype the Maps signer in-house; prototype GA4 Measurement Protocol in-house.
  3. Delete the dependency entirely; keep the pattern, not the package. Do not introduce this as a runtime dependency in any new code path. Do not include it in a Laravel application.

Operational Impact

Maintenance. Effectively unmaintained. 1 star / 0 dependents means no contributor pipeline, no downstream bug reports, no fixes. Adopting this means you become the maintainer of a fork that wraps Google APIs that have already changed once and will change again.

Support. None. No vendor, no community, no Slack, no docs beyond the README. Any production incident is yours alone — including silent failure modes where a deprecated UA endpoint returns 200 with no data.

Scaling. The bundle is stateless per request, so it scales as a library would; however, server-side calls to Google endpoints block the request unless queued. The "Page View Queue" design suggests the original maintainers already hit this — a good hint to adopt the pattern rather than the code. Also consider quota/rate limits and egress cost from app servers to Google on every page view.

Failure modes.

  • Universal Analytics endpoint no longer ingests → silent data loss, dashboards quietly wrong.
  • AdWords API version drift → 4xx auth/endpoint errors on every call.
  • Composer resolution failure on PHP 8.x / Symfony 6+ / Laravel → install-time blocker.
  • Map API key exposure via Twig → quota abuse and billing risk.
  • Abandoned transitive deps → unbounded CVE surface.

Ramp-up. Low learning cost (the code is thin HTTP calls + Twig helpers), but negative net value: half a day to read, then a strong recommendation to reimplement in-house in ~1–2 days with modern, maintained dependencies and explicit consent/queueing. For a Symfony2 legacy app specifically, reuse is possible but should be treated as temporary scaffolding with a scheduled replacement tied to the framework migration.

Recommendation. Treat as reference implementation only. Do not adopt as a dependency. The Maps Static signing logic is the only reusable artifact, and it is cheaper to write fresh than to take on the maintenance burden of an abandoned, Symfony-2-era bundle.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource