For

Product feed management for agencies

An agency running Shopping and catalog ads for a dozen stores needs three things from feed software: each client kept separate with its own access, a cost per client that fits the retainer, and a way to make the same kind of fix across many feeds without clicking through each one. This page sets out how client feeds run in Textfinity when we set them up for an agency, how it is priced, and what the software does not do, so you can decide before you bring in the first client.

We connect your store, build the feed and keep it in sync. Updated 2026-10-27.

At a glance

  • One organization per client: we set up the feeds there in Textfinity, your team and the client get access (the client can be view-only), and one login switches between them.
  • Each client catalog is quoted on its own after a short call, so the cost maps to a client line item.
  • Clients can own their exclusion lists, label maps and brand lists in a Google Sheet that feeds read on every rebuild, without logging in.
  • Textfinity builds and publishes feeds; it does not bid, report on campaigns or import Merchant Center diagnostics. Those stay in Google Ads, Microsoft Ads and Commerce Manager.

How an agency organizes client feeds

Each client is an organization: a separate container for that client's stores, feeds, AI configs and members. We set up the feeds in it; your account managers get access to every client organization, and the client's marketing lead can be given the view-only role to see feeds and products without changing rules. One login lists all organizations, so nobody shares passwords and offboarding a client is removing it, not untangling a shared account.

Inside a client, each store is a shop (Shopify connected natively; WooCommerce, Magento, PrestaShop and custom platforms by a CSV or Google-shaped XML export URL, over HTTPS or SFTP), and each channel is a feed with its own mapping and filters. Each feed is a stable URL that the client's own Merchant Center and Commerce Manager fetch on a schedule, so data sources and catalogs stay in the client's accounts, which matters when the relationship ends.

What feed management costs per client

Because the quote follows the client catalog, the cost maps to a client line item you can pass on in the retainer.

Client storeWhat we set up
Boutique, 80 SKUs, Google onlyOne Google Shopping feed with fixed titles
Shopify store, 600 variants, Google + Meta, filtersTwo feeds with exclusion filters
Store with 4 channels and AI titles, 950 variantsFour feeds and an AI title config, reviewed before use
Multi-brand retailer, 4,000 SKUs, 8 feedsEight feeds, custom labels and a client-owned sheet

Each catalog is quoted on its own after a short call, based on SKUs, feeds and whether it needs AI titles and descriptions.

Feed management for PPC agencies: where it fits in the workflow

  • Pitch and onboarding: send us a prospect's feed URL and we read the feed hygiene profile (completeness per column, titles over 150 characters, inconsistent values, broken image URLs). On the feeds we have profiled, 18 of 20 had at least one critical data issue.
  • Campaign structure: custom labels for margin band, season or bestseller computed with advanced rules or a client-maintained sheet, so Shopping and Performance Max campaigns can split without new feeds.
  • Bulk changes: a change requested across six client feeds is one message to us, applied to each feed and checked in its output.
  • Copy at scale: AI title and description configs generate text that is reviewed and accepted before it reaches a feed, in 25 European languages, which covers multi-market clients.

What stays outside the feed tool

Textfinity has no bidding, no campaign management and no PPC reporting, and it cannot read Merchant Center disapprovals, so diagnostics are checked where the channel shows them. It has no native WooCommerce or Magento plugin; those clients connect through their export URL. Output is CSV or TSV on a URL, which covers Google, Microsoft, Meta, TikTok, Pinterest, Snapchat and the price comparison sites that fetch files; channels that only accept XML cannot be served. Processing and AI run on EU infrastructure, which simplifies the data-processing conversation with European clients.

Examples

Worked examples, by situation

Four agency situations and what we set up for each.

PPC agency · 8 Shopify clients · Google + Meta

One organization per client, view-only access for the client

Before

Shared login per client store
feeds edited by whoever is on the account

After

8 organizations, agency staff as admin
client marketing lead as view_only
2 feeds per client (Google Shopping, Meta Ads)

How we set it up

We create an organization per client, give agency staff the admin role and the client contact View only, connect each Shopify store and build the Google Shopping and Meta Ads feeds. The feed URLs are registered in the client's Merchant Center and Commerce Manager with the client.

Shopping agency · 5 clients · client-owned exclusions

The client edits a sheet, not your feed rules

Filter on every client feed

exclude if [sku] is in google sheet list
  https://docs.google.com/spreadsheets/d/…
(first tab, column A: SKUs the client pauses)

How we set it up

We add an exclude filter with is in google sheet list to every client feed. The client adds or removes SKUs in column A of the sheet's first tab; the filter compares them with the store's SKU column (variant.sku on Shopify), and the next rebuild picks them up.

Performance agency · prospect pitch · WooCommerce store

A feed audit before the first call

Before

Prospect sends a WooCommerce product export URL

After

Hygiene profile: 41% of products without GTIN, 230 titles under 30 characters, 3 spellings of 'Navy'

How we set it up

We connect the export URL as a CSV source and read the feed hygiene report. The completeness, length and value-consistency checks become the audit slide; the fixes become the first month's work.

Agency account team · 6 client feeds · same change

One request, six feeds

Before

"Exclude products under $15 from every client's Google feed"

After

Filter rule 'price is less than 15 (exclude)' added to six Google Shopping feeds, on each store's own price column (variant.price on Shopify); output checked per feed

How we set it up

We add the exclude filter to each of the six feeds on that store's own price column, since filters read the source data, and check the output per feed in the product explorer before the next sync.

Copy this plan

Plan: onboard your first client this week

Start with one client, then bring in the rest once the set-up is a routine.

  1. 01

    Tell us who needs access

    One workspace per client, named after the client. Your account managers get full access; the client contact can be view-only.

    What we set up: We create the client's organization and add your team and the client with the admin or View only role.
  2. 02

    Send us the client's store

    Shopify connects natively; other platforms by a CSV or Google-shaped XML export URL, over HTTPS or SFTP. Agree the fixes with the client from the hygiene profile.

    What we set up: We connect the store and share the feed hygiene profile with you.
  3. 03

    Build the channel feeds

    One feed per channel from the channel template; titles, labels and filters per the account plan.

    What we set up: We build one feed per channel from the Google Shopping, Meta Ads or Microsoft Ads channel template.
  4. 04

    Move client-owned lists into a Google Sheet

    Paused SKUs, brand lists, label maps. Share the sheet with the client and reference it from filters or mapping. Textfinity reads only the first tab: column A for lists, columns A and B for a replace map, which swaps every substring that matches a row in A, not only whole values, so keep the keys distinct.

    What we set up: We reference the sheet from an is in google sheet list filter or a replace from google sheet mapping.
  5. 05

    Register the feeds in the client's channel accounts

    Each feed is a URL that Merchant Center, Commerce Manager and the other channels fetch on a schedule, registered in the client's own accounts. Diagnostics stay in each channel.

    What we set up: We register the feed URLs with the client: they give us access or we walk them through it.
  6. 06

    Price it per client

    Each client catalog is quoted on its own, so the cost becomes a client line item in the retainer.

Customization tips

Make it yours

Keep channel accounts in the client's name

Registering the feeds in the client's own Merchant Center and Commerce Manager means the catalog and data source survive if the client leaves. The trade-off is asking the client for access on day one instead of using your agency's accounts.

Sheets for anything the client changes weekly

Promotions, paused SKUs and brand priorities change often and the client knows them first. A sheet the feed reads cuts the email loop; keep structural rules (titles, categories) in Textfinity where only your team edits them.

Review AI text like a junior's work

AI text reaches a feed only after it is accepted. Check the product explorer output before the client's next sync, especially on the first few products of a new config.

Get the quote before you price the retainer

Each client catalog is quoted after a short call. Ask before you price the retainer, rather than discovering the cost during onboarding.

FAQ

Questions about product feed management for agencies

How does product feed management work for agencies?

Each client gets its own workspace in Textfinity with its stores, feeds and members. We set up the feeds per channel with mapping rules and filters, and the software rebuilds them on schedule; agency staff see all clients with one login, and clients can get view-only access. The feed URLs are registered in each client's Merchant Center, Meta and other channels.

How much does a feed tool cost per client?

Textfinity quotes each client catalog on its own after a short call, based on SKUs, feeds and whether it needs AI titles and descriptions. That lets you pass the cost to each client as its own line item.

Can clients edit their own feed data?

Yes, through a Google Sheet the feed reads: exclusion lists, brand lists or label maps. Clients can also be invited to their workspace with a view-only role to see feeds and products without changing rules.

Does Textfinity manage Shopping campaigns or bids?

No. It builds and publishes the feeds and the custom labels campaigns use, but bidding, campaign structure and performance reporting stay in Google Ads, Microsoft Ads and Meta Ads Manager. It also does not import Merchant Center disapprovals.

Set up for you

Bring us your first client's feeds this week.

Send us the client's store and the channels they advertise on. We set up the workspace, read the hygiene profile and publish the first feeds, and quote each further client on its own.

Talk to us about your clientsOr email support@textfinity.io

Tell us your store and channels. We reply within 24 hours.