A Chicagoland portfolio is usually one company spread across a map rather than several companies side by side. The properties answer to nearly the same words inside one metro name, and telling them apart is the reporting job.

Ask a distributor in Bensenville how many websites the business runs and the count arrives slowly. The main domain. One that came with a company acquired in 2019, still ranking for a product line nobody wants to drop. A subsite for the branch with its own sales rep. A Spanish section built for warehouse hiring.

Four properties, one catalog, one metro, all surfacing for the same phrases. What a shared workspace has to settle is not "how are we doing" but "which pin on the map produced this row" — and if that cannot be answered at a glance, nothing downstream is worth reading.

Portfolios · The local shapes

What a portfolio looks like around here

The pattern is rarely a conglomerate. It comes from territory: the business covered more ground, and each piece acquired its own address.

Shape

The distributor with branches

Warehouse in Elk Grove Village, counter in Joliet, a third location picked up in an acquisition.

  • Identical part pages, three domains
Shape

The restaurant group

Four rooms across Logan Square, Pilsen, Hyde Park and Oak Park, on separate domains because each opened under its own name.

  • Neighborhood sets the competitor list
Shape

The trades company by county

A mechanical or roofing contractor working Cook, DuPage, Lake and Will, with county sections or sites bought years apart.

  • Permits differ by county line
Shape

The bilingual pair

A clinic or insurance office in Cicero, Berwyn or Waukegan, with English and Spanish trees that grew at different speeds.

  • A different maintainer on each half
Diagnosis · Rows that resemble each other

Why look-alike properties resist reporting

A catalog site, a recruitment site and a magazine separate themselves on a chart. Near-twins fail three ways instead. Misattribution: a row shows position five and nobody can say which property produced it. Blending: a company total mixes a strong Naperville site with a weak Waukegan one and prints a middle figure describing no location that exists. Self-competition: two of your properties trade places on one query for a season unnoticed.

None of that is cured by better rankings. It is cured by naming, separating and labeling the properties, before campaign work can be judged at all. That is the job a single panel holding every property takes off you: one feed per project, an assistant tied to project data, access granted site by site, tags acting as a global filter, and reporting over the lot.

35+
screens in the panel
11
outside services wired in
0–3
sources loaded per answer
20
messages kept per thread
The pin test. Open your current reporting, scroll to a random row, and name the territory and language behind it. If that takes more than two seconds, the document is an archive rather than a report, and anything drawn from it is a guess about geography.
The feed · One timeline per property

A logbook for people who have other jobs

Every project carries a running feed, and Stream mixes into it what other tools keep apart: answers from the assistant, reports as they are produced, each new link with the rating and traffic of its host domain, outstanding tasks, campaign notices — sequenced by when each occurred.

Dashboards answer what is true today; a feed answers what was done here, by whom and when. On a branch portfolio the second question dominates, because the work rarely belongs to a marketing department. It falls to a branch manager who also handles dispatch, or an administrator who also runs payroll, with a contractor covering the rest.

My SEO · Stream

What happened here, in order

Where whoever minds a site this quarter did not mind it last.

Runs with both campaign levels
  • Every placement carries proof. A new link is logged with the host domain's rating and traffic, so outside link work is checked instead of believed.
  • Reports land where they were asked for. A generated document stays with the exchange that produced it, not in an archive nobody was shown.
  • A task keeps whatever prompted it. The note that raised an item sits directly above it, which is why the log repays a second reading a year on.
  • Lists go over wholesale. Keywords and URLs are accepted in batches — what you want the day a long-ignored branch site is brought in.
1
feed per project
4
ways to filter it
3
states per task
Record what happens off-panel. A menu rebuilt, a server moved, a branch shut for two weeks in July: none of it starts in the workspace, and every one surfaces in a chart later. A line typed at the time settles the argument in November.
Assistant · How much data one question pulls

A chat tied to the project's own figures

Inside My SEO the chat works from the project's own numbers rather than general knowledge about search, and that shapes what is worth asking. A question hits a router model first, and the router does one thing: choose how much data to bring along. There are four sources, and it loads none of them, or one, or two, or at most three, on relevance. Impressions last quarter bring Search Console in. Who stands between you and the top brings SERP in. What a canonical tag does brings nothing in.

SourceContentsPulled in by
Search ConsoleYour clicks, impressions, click-through rate and position, by device and country"Has Aurora slipped this month?"
SERPThe results page from outside: who holds which slot, which rivals recur"Who else appears across DuPage?"
CampaignCandidate terms and their status, links placed, page suggestions waiting"What was signed off for this branch?"
Custom dataAnything else attached to the project, past the standard screens"How does that sit against our upload?"

The reply is written out token by token instead of arriving whole, which buys something practical: after a second you can tell whether the question was taken as you meant it, and a misfire costs nothing to abandon. Twenty messages of history are kept — enough for asking and then narrowing, short enough that the property should be re-named whenever the topic turns.

Grounded figures close one failure mode, not the rest. A model working from your own data will not make a number up. It will still answer the question it believed you asked, and where four properties chase the same terms across one metro, the wrong property is the mistake waiting to happen. Put the site name in the sentence.
Working the feed · Narrowing it down

Four filters, three states, and a search box

Strict chronology stops working once the feed is long, which is why the feed carries four filters and a search box above them.

  • All. Everything in order. For rebuilding a period, not retrieving one fact.
  • Links. Only placements, with host rating and traffic — what you open when somebody outside the company built them.
  • Files. Reports and documents on their own, lifted out of the discussion around them.
  • To-do. Only what needs a decision — the Friday-afternoon list.

Each item sits in one of three states, and the middle one is why the list survives a company with other priorities. Active means open. Dismissed means somebody weighed it and said no, on the record. Deferred means the item is right and cannot be done yet. Without it, every correct-but-blocked task either rots at the top of the list or is closed and lost.

StateMeaningWhy it shows up here
ActiveOpen, due this cycleThe Berwyn page still shows last year's hours
DeferredCorrect, held up elsewhereThe one person who edits the Spanish pages is away
DeferredCorrect, wrong monthRoofing copy in February; a plant down for maintenance
DismissedWeighed and turned downHomeowner calls arriving at a trade-only supplier

Search covers the text of every message, which turns a log into memory the company owns rather than memory an individual carries. Once website duty has passed from a departed administrator to a branch manager who inherited it to a contractor taken on last spring, nobody wants week 34. They want what was settled about two properties chasing one phrase.

Title a task for whoever reads it next. Name the property in the title rather than burying it in the body. "Joliet counter site — service page shows the Elk Grove number" survives a handover. "Fix the phone number" does not.
Access · People who arrive and leave

Sharing one site, and taking it back

Companies this size rarely employ a marketer; they borrow one. A contractor builds the site, an agency runs a campaign for two quarters, an administrator ends up holding the logins alongside the phone account. Every handover either grants access properly or papers over it with a shared password, and the password still wins.

Governance · Access

Designed around people who rotate through

A change of contractor as a five-minute administrative task.

Included at every level
  • Several Google accounts, one group. Properties verified years apart under a developer's login, a former agency's address and the owner's own get linked, nothing migrated.
  • Access is granted one site at a time. Hire somebody for the Spanish pages and that is what they see: not the flagship, not the acquired domain, not the rest.
  • Withdrawing it is routine. Closing an engagement removes one grant. No password rotated, no Google verification disturbed.
  • Google consent happens once. Gmail, Search Console and Analytics authorize in one pass instead of three approvals pursued by email.
PersonScope they needHanded back when
Contractor on the Spanish pagesThat property aloneThe engagement closes, or a month goes quiet
Agency running one campaignThe property the contract namesThe last invoice is settled
Branch managerTheir own branch siteThey transfer or leave
Office administratorEverything the company ownsThey leave
Structure · The tags are the map

Tag by territory, tag by language, keep the list flat

A tag is not a folder. It is a switch thrown across the entire workspace: turn one on and dashboards, ranking screens, analytics and exports all contract to the properties wearing it. For a set of near-twins, a filter that reaches every screen at once is the most useful thing in the panel, because it pulls one row apart from the next.

Territory is the first axis, and it converts a list of domains back into a map. Three branches are not three brands but three pieces of ground carrying separate addresses; labeled that way, a dashboard reads as coverage instead of an inventory of URLs. Language is the second, and it earns its place even at two properties, since adding an English total to a Spanish one is the surest route to concluding, wrongly, that Spanish demand is small. The shortage is in your own pages.

AxisValuesWhat it exposesNesting
Countycook, dupage, lake, will, kaneWhether coverage matches where trucks goNone
Neighborhood or suburbpilsen, cicero, aurora, napervilleReality at the radius buyers useNone
Languageen, esTwo fields that must not be averagedNone
Who maintains itin-house, contractor, agencyWhich properties nobody is actually watchingNone

Nesting all of that — language under suburb under county — is the obvious next move and the wrong one. A hierarchy puts each property in one slot, which fails the moment a site covers two counties or runs in two languages, and here that is normal. It also freezes an org chart that will move: add a fourth branch and the tree has to be rebuilt, where a flat list gains a label.

A quarter of an hour, before the first chart. Labeling a portfolio by territory, language and maintainer determines whether anything read afterward carries meaning.
Output · Documents, charts and a working week

Reporting, and a week that fits around other duties

Reporting comes in two registers. Exports reach 10,000 rows as CSV or JSON and exist to be worked on — the file goes into a spreadsheet next to order volumes or appointment counts. A PDF is rendered on the server, caps at 250 rows, and exists to be read. The builder behind both is configurable and brandable with a logo and colors, which counts where a consultant sends it out under their own name.

10,000
rows per export
250
rows in one PDF
50–200
rows on a table page
Visual

Series and metric cards

A line for direction, a card for the figure a manager still has in mind at six.

  • One card per territory
Visual

Sortable, filterable tables

Paged at 50 to 200 rows, so a table covering four properties stays readable.

Visual

Sparklines

The workhorse for look-alikes: a line per property, stacked, and whichever diverges says so.

  • No arithmetic needed
Visual

Heatmaps by country and device

The device cut says whether the visitor is in a supply yard or at a desk before nine.

My SEO · Campaign levels

Charged per domain, and that is the decision

A territory portfolio buys a level for each property rather than one plan for the whole company.

$149 or $500 per month · per domain
  • AutoSEO, $149 a domain per month. Keywords found and ranked without supervision, links built through a partner network above 230,000 sites, AI suggestions on the pages, the analytics set, the chat described above.
  • FullSEO, $500 a domain per month. Keywords chosen by hand with automation as a fallback, placements aimed at a domain rating you nominate, and a person reviewing page edits before they ship, with specialists, developers and writers behind it.
  • First movement in four to eight weeks. Per property, so a portfolio shifts in order — a reason to put the flagship on the higher level first.

Take a mechanical contractor holding five properties: the main domain, two county sites that arrived with a smaller company, a Spanish-language site covering the Cicero and Berwyn end of the territory, and an old domain kept alive for one manufacturer. The people: an administrator who also handles scheduling, a branch manager in Joliet, a contractor on the Spanish pages.

DayThe taskScreen
MondayRead the portfolio through the county tag; mark what movedDashboard, tag filter on
TuesdayThe Spanish property on its own, against its own rivalsDashboard, language tag
WednesdayEach keyword candidate taken singly: yes, no or laterCampaign keyword pool
ThursdayBranded PDF for the owner, CSV for the contractor, both by territoryReport builder
FridayTask sweep over five feeds; every deferral gets a written reasonStream, To-do filter

Monday costs twenty minutes, because the county tag collapses five properties into the two groups that moved. Tuesday stands alone deliberately: a Spanish site read inside a combined figure is how a company argues itself out of a market within its own service radius. Wednesday holds the one scheduled meeting, where candidates from Search Console, live results and the firm's seed terms are dealt with singly — the moment somebody decides a term they could win would bring the wrong kind of call. Friday's sweep is diagnostic: a mostly deferred list names staffing, not rankings, as the constraint. What that workload looks like by sector sits across the services we run.

Questions · Portfolios and the people running them

Common questions

Should our branch sites be separate projects, or one?

Separate, with tags to pull them back together when a combined view is wanted. Separate projects give separate feeds, and the feed is the only lasting proof of which property a piece of work touched. Merging cannot be undone later.

Can the assistant compare two of our locations in one answer?

Ask about one property at a time and treat the chat as bound to that project's data. Putting two side by side is a job for the dashboards with a territory tag on, where both are plotted against one axis.

Our verified properties sit in three different Google accounts. Must we consolidate?

No. Account groups can be linked so properties verified under different accounts show up together. For a firm fifteen years online that has changed developers three times that is the usual state, and consolidating means chasing credentials nobody kept.

The contractor who handled our site has stopped replying. What now?

Withdraw the grant, then work through the project feed. The Links filter, the Files filter and a search over the message text let a replacement rebuild what was done and when, without a handover meeting that would never have happened.

Four jobs that stay with people. Deciding what matters: the panel puts twenty openings in front of you and has no idea one branch is being relocated. Finding causes: a chart states that traffic dropped and stays silent on why — a redesign, a redirect, a run of bad reviews, a rival two exits up the interstate. Setting targets: nothing here can rule on whether Joliet or the Spanish site should take this year's money. Talking to the client: accounting for a flat quarter to somebody who hoped for better is a conversation, not an output.

None of that is a caveat added for symmetry; it marks out where the remaining work lives. Gathering, totaling, watching and much routine placement now sit in software and will stay there. What remains rests on knowing the company: which fight is worth having, what moved the number, and how to explain it to a disappointed reader. More on that division sits on our blog.

Judged against it, a shared workspace justifies itself narrowly. It cuts the mechanical half down far enough that an administrator with other duties and a branch manager who looks in weekly can hold five properties together, and it keeps a trail, so a call made in March can be reopened in September rather than relitigated from three memories. Where the work belongs to somebody who will have moved on by next year, that trail is the asset.

If the properties currently blur into one, begin with labeling rather than a chart. Open a workspace and connect the Google accounts, put a territory tag and a language tag on every site before a dashboard is opened, hand each property only to the people working on it, and give the feeds a quarter to fill. What surfaces first is seldom a ranking. More often it is the territory carrying the rest, or the one that quietly stopped.