PHPackages                             run\_as\_root/ext-magento2-google-shopping-feed - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. run\_as\_root/ext-magento2-google-shopping-feed

ActiveMagento2-module[File &amp; Storage](/categories/file-storage)

run\_as\_root/ext-magento2-google-shopping-feed
===============================================

This module provides a google shopping product feed csv export.

1.6.0(11mo ago)438.7k↓49%11[4 PRs](https://github.com/run-as-root/Magento-2-Google-Shopping-Feed/pulls)MITPHPCI passing

Since Sep 21Pushed 9mo ago3 watchersCompare

[ Source](https://github.com/run-as-root/Magento-2-Google-Shopping-Feed)[ Packagist](https://packagist.org/packages/run_as_root/ext-magento2-google-shopping-feed)[ RSS](/packages/run-as-root-ext-magento2-google-shopping-feed/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (19)Versions (9)Used By (0)

[![build](https://github.com/run-as-root/Magento-2-Google-Shopping-Feed/actions/workflows/test_extension.yml/badge.svg)](https://github.com/run-as-root/Magento-2-Google-Shopping-Feed/actions/workflows/test_extension.yml/badge.svg)

General
-------

[](#general)

Generate feed with product data.

Installations
-------------

[](#installations)

```
composer require run_as_root/ext-magento2-google-shopping-feed
bin/magento setup:upgrade

```

Features
--------

[](#features)

### Feed generation

[](#feed-generation)

Generate product feed every 2 hours with minimal required attributes, for each storeview.
Places file into `pub/media/run_as_root/feed/%s_store_%s_feed.xml`.

Technical Specification
-----------------------

[](#technical-specification)

### Commands

[](#commands)

groupcommanddescriptionrun\_as\_rootrun\_as\_root:product-feed:executeRuns feed generation for all store views.### Crons

[](#crons)

groupcronjobdescriptiondefaultrun\_as\_root\_product\_feed\_exporter\_cronRuns feed generation based on `run_as_root_product_feed/general/cron_schedule` config - default each 15 minutes### Entities

[](#entities)

#### Attribute config

[](#attribute-config)

DTO: `\RunAsRoot\GoogleShoppingFeed\Data\AttributeConfigData`

Incapsulates the next information:

- attribute name/code
- handler class

List of attributes configurations can be found here: `\RunAsRoot\GoogleShoppingFeed\Enum\AttributesToImportEnumInterface::ATTRIBUTES`

### Data providers

[](#data-providers)

#### `\RunAsRoot\GoogleShoppingFeed\DataProvider\AttributesConfigListProvider`

[](#runasrootgoogleshoppingfeeddataproviderattributesconfiglistprovider)

Provides the list of DTOs ( `AttributeConfigData` ).
Used for CSV row data mapping from product - provides information regarding attributes that should be taken from the product and in wich way (handler).
See configuration list here: `\RunAsRoot\GoogleShoppingFeed\Enum\AttributesToImportEnumInterface::ATTRIBUTES`

#### `\RunAsRoot\GoogleShoppingFeed\DataProvider\AttributeHandlerProvider`

[](#runasrootgoogleshoppingfeeddataproviderattributehandlerprovider)

Provides attribute data provider (handler) of type `\RunAsRoot\GoogleShoppingFeed\DataProvider\AttributeHandlers\AttributeHandlerInterface`, by `AttributeConfigData` DTO.

#### `\RunAsRoot\GoogleShoppingFeed\DataProvider\AttributeHandlers\AttributeHandlerInterface`

[](#runasrootgoogleshoppingfeeddataproviderattributehandlersattributehandlerinterface)

Generic interface for attribute data providers.
Each attribute has its own data provider, that incapsulates current interface.
Data provider for specific attribute is configured here `\RunAsRoot\GoogleShoppingFeed\Enum\AttributesToImportEnumInterface::ATTRIBUTES`.

### Services

[](#services)

#### `\RunAsRoot\GoogleShoppingFeed\Service\GenerateFeedService`

[](#runasrootgoogleshoppingfeedservicegeneratefeedservice)

Perform feed generation for all storeviews with enabled feed generation.
`\RunAsRoot\GoogleShoppingFeed\Service\GenerateFeedService` is injected.

#### `\RunAsRoot\GoogleShoppingFeed\Service\GenerateFeedService`

[](#runasrootgoogleshoppingfeedservicegeneratefeedservice-1)

Generate feed for specific store, based on feed enable\*disable configuration.
Incapsulates attributes config provider `\RunAsRoot\GoogleShoppingFeed\DataProvider\AttributesConfigListProvider` and csv row mapper `\RunAsRoot\GoogleShoppingFeed\Mapper\ProductToFeedAttributesRowMapper`.
Performs iteration on all products provided by this collection provider `\RunAsRoot\GoogleShoppingFeed\CollectionProvider\SimpleProductsCollectionProvider` and adds rows into the CSV file.

Configuration
-------------

[](#configuration)

tabgroupsectionfieldrun\_as\_rootgeneralProduct Feed ExporterEnablerun\_as\_rootgeneralProduct Feed ExporterCron Schedulerun\_as\_rootgeneralProduct Feed ExporterCategory Whitelistrun\_as\_rootgeneralProduct Feed ExporterCategory BlacklistExtensability points
--------------------

[](#extensability-points)

### Add new attribute to feed

[](#add-new-attribute-to-feed)

1. Create new attribute data provider. @see interface `\RunAsRoot\GoogleShoppingFeed\DataProvider\AttributeHandlers\AttributeHandlerInterface`.
2. Add configuration for new attribute in `\RunAsRoot\GoogleShoppingFeed\Enum\AttributesToImportEnumInterface::ATTRIBUTES`.

Google Shopping Feeds Grid
--------------------------

[](#google-shopping-feeds-grid)

Generated feeds could be reviewed inside Admin Backoffice

- Navigate to Marketing -&gt; run\_as\_root -&gt; Google Shopping Feed

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance54

Moderate activity, may be stable

Popularity38

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~493 days

Total

3

Last Release

349d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f30c3b4c4281c9e771bd267d0086c4f56b2fde98ae2cf624dc2daeab1738ff15?d=identicon)[mwltr](/maintainers/mwltr)

![](https://www.gravatar.com/avatar/906aa6a77d4437e2a5eadc30ee504d17345690b7555dc3a6aedf3f5e51f0eaea?d=identicon)[DavidLambauer](/maintainers/DavidLambauer)

---

Top Contributors

[![riconeitzel](https://avatars.githubusercontent.com/u/930706?v=4)](https://github.com/riconeitzel "riconeitzel (7 commits)")[![DavidLambauer](https://avatars.githubusercontent.com/u/1841317?v=4)](https://github.com/DavidLambauer "DavidLambauer (6 commits)")[![vpodorozh](https://avatars.githubusercontent.com/u/16047928?v=4)](https://github.com/vpodorozh "vpodorozh (6 commits)")[![cristiano-pacheco](https://avatars.githubusercontent.com/u/5084933?v=4)](https://github.com/cristiano-pacheco "cristiano-pacheco (4 commits)")[![mwr](https://avatars.githubusercontent.com/u/80516?v=4)](https://github.com/mwr "mwr (1 commits)")[![sanderjongsma](https://avatars.githubusercontent.com/u/2726055?v=4)](https://github.com/sanderjongsma "sanderjongsma (1 commits)")

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/run-as-root-ext-magento2-google-shopping-feed/health.svg)

```
[![Health](https://phpackages.com/badges/run-as-root-ext-magento2-google-shopping-feed/health.svg)](https://phpackages.com/packages/run-as-root-ext-magento2-google-shopping-feed)
```

###  Alternatives

[dotdigital/dotdigital-magento2-extension

Dotdigital for Magento 2

50374.2k18](/packages/dotdigital-dotdigital-magento2-extension)[mollie/magento2

Mollie Payment Module for Magento 2

1121.6M10](/packages/mollie-magento2)[swissup/module-search-mysql-legacy

Legacy mysql search for magento 2.4

10483.0k](/packages/swissup-module-search-mysql-legacy)[baldwin/magento2-module-image-cleanup

Magento 2 module which can cleanup old image files that are no longer being used

8190.4k](/packages/baldwin-magento2-module-image-cleanup)[buckaroo/magento2

Buckaroo Magento 2 extension

32404.0k6](/packages/buckaroo-magento2)[loki/magento2-admin-components

N/A

151.6k5](/packages/loki-magento2-admin-components)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
