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.
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.
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
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
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
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
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.
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.
What happened here, in order
Where whoever minds a site this quarter did not mind it last.
- 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.
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.
| Source | Contents | Pulled in by |
|---|---|---|
| Search Console | Your clicks, impressions, click-through rate and position, by device and country | "Has Aurora slipped this month?" |
| SERP | The results page from outside: who holds which slot, which rivals recur | "Who else appears across DuPage?" |
| Campaign | Candidate terms and their status, links placed, page suggestions waiting | "What was signed off for this branch?" |
| Custom data | Anything 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.
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.
| State | Meaning | Why it shows up here |
|---|---|---|
| Active | Open, due this cycle | The Berwyn page still shows last year's hours |
| Deferred | Correct, held up elsewhere | The one person who edits the Spanish pages is away |
| Deferred | Correct, wrong month | Roofing copy in February; a plant down for maintenance |
| Dismissed | Weighed and turned down | Homeowner 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.
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.
Designed around people who rotate through
A change of contractor as a five-minute administrative task.
- 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.
| Person | Scope they need | Handed back when |
|---|---|---|
| Contractor on the Spanish pages | That property alone | The engagement closes, or a month goes quiet |
| Agency running one campaign | The property the contract names | The last invoice is settled |
| Branch manager | Their own branch site | They transfer or leave |
| Office administrator | Everything the company owns | They leave |
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.
| Axis | Values | What it exposes | Nesting |
|---|---|---|---|
| County | cook, dupage, lake, will, kane | Whether coverage matches where trucks go | None |
| Neighborhood or suburb | pilsen, cicero, aurora, naperville | Reality at the radius buyers use | None |
| Language | en, es | Two fields that must not be averaged | None |
| Who maintains it | in-house, contractor, agency | Which properties nobody is actually watching | None |
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.
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.
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
Sortable, filterable tables
Paged at 50 to 200 rows, so a table covering four properties stays readable.
Sparklines
The workhorse for look-alikes: a line per property, stacked, and whichever diverges says so.
- No arithmetic needed
Heatmaps by country and device
The device cut says whether the visitor is in a supply yard or at a desk before nine.
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.
- 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.
| Day | The task | Screen |
|---|---|---|
| Monday | Read the portfolio through the county tag; mark what moved | Dashboard, tag filter on |
| Tuesday | The Spanish property on its own, against its own rivals | Dashboard, language tag |
| Wednesday | Each keyword candidate taken singly: yes, no or later | Campaign keyword pool |
| Thursday | Branded PDF for the owner, CSV for the contractor, both by territory | Report builder |
| Friday | Task sweep over five feeds; every deferral gets a written reason | Stream, 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.
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.
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.