---
title: "Custom GA4 channels for real estate website campaigns"
description: "Write testable channel rules for real estate newsletters and referral campaigns, then review overlap, reporting scope, and changes to the definitions."
canonical: "https://scalewithsearch.com/articles/custom-ga4-channel-groups-agent-campaigns"
---
## Site navigation

- [Scale With Search](https://scalewithsearch.com/)
- Services
  - Services
    - [AI systems](https://scalewithsearch.com/ai-systems)
    - [Site build](https://scalewithsearch.com/work#site-build)
    - [Whole website fix](https://scalewithsearch.com/work#whole-website-fix)
    - [Content library with SEO](https://scalewithsearch.com/work#content-library)
    - [Working session](https://scalewithsearch.com/audit)
  - Start here
    - [Send your brief](https://scalewithsearch.com/work#send-your-brief)
    - [Example scope](https://scalewithsearch.com/work#review-the-example-scope)
  - [Prices and terms](https://scalewithsearch.com/work#prices-and-terms)
- Industries
  - Real estate
    - [Real estate agents and teams](https://scalewithsearch.com/for/real-estate)
    - [Platforms, ownership, and IDX](https://scalewithsearch.com/for/real-estate/real-estate-website-platforms-ownership-idx)
    - [Search, content, and AI](https://scalewithsearch.com/for/real-estate/real-estate-search-content-ai)
    - [Inquiries, campaigns, and handoffs](https://scalewithsearch.com/for/real-estate/real-estate-website-inquiries-campaigns-handoffs)
    - [Buyer, seller, and local pages](https://scalewithsearch.com/for/real-estate/real-estate-buyer-seller-local-resources)
    - [Rules, privacy, and trust](https://scalewithsearch.com/for/real-estate/real-estate-website-rules-privacy-trust)
  - Browse by business
    - [Trades and home services](https://scalewithsearch.com/for/#group-trades)
    - [Health, wellness, and animal care](https://scalewithsearch.com/for/#group-practices)
    - [Law, finance, and IT](https://scalewithsearch.com/for/#group-professional)
    - [Marketing and SEO agencies](https://scalewithsearch.com/for/#group-agencies)
    - [Shops and manufacturers](https://scalewithsearch.com/for/#group-manufacturing)
    - [Restaurants, shops, studios, and nonprofits](https://scalewithsearch.com/for/#group-local-services)
  - Chiropractic practices
    - [Chiropractic and wellness practices](https://scalewithsearch.com/for/chiropractic-and-wellness-practices)
    - [Chiropractic and physical therapy clinics](https://scalewithsearch.com/for/chiropractic-and-physical-therapy-clinics)
  - [All industries](https://scalewithsearch.com/for/)
- Resources
  - Free tools
    - [AI readiness check](https://scalewithsearch.com/check)
    - [Free tools](https://scalewithsearch.com/tools/)
    - [Free Starter Kit](https://scalewithsearch.com/kit/business-memory-starter-kit.zip)
  - Guides
    - [AI-native library](https://scalewithsearch.com/ai-native)
    - [Industry intelligence](https://scalewithsearch.com/intelligence)
    - [Office job guides](https://scalewithsearch.com/guides/)
    - [Business memory](https://scalewithsearch.com/articles/business-memory-for-ai-agents-guide)
    - [Agent governance](https://scalewithsearch.com/articles/ai-agent-governance-guide-small-business)
    - [Migration and ownership](https://scalewithsearch.com/articles/leaving-vendor-ai-memory-guide)
  - Articles
    - [All articles](https://scalewithsearch.com/articles/)
    - [What changed](https://scalewithsearch.com/changes/)
- About
  - Evidence
    - [Proof](https://scalewithsearch.com/proof)
  - Scale With Search
    - [About](https://scalewithsearch.com/about)
    - [How it works](https://scalewithsearch.com/how-it-works)

# Plan custom GA4 channels for real estate website campaigns

Define the reporting decision before writing custom channel rules. For a real estate website, the useful distinction might be newsletter visits by audience purpose or referrals from a recorded partnership.

Start with the [GA4 Unassigned guide](/articles/ga4-unassigned-agent-campaign-traffic) for source diagnosis and basic group creation. Use the [GA4 cross-domain guide](/articles/ga4-cross-domain-agent-idx-inquiries) for journeys across website destinations. This article develops the campaign-rule worksheet after those checks.

## Which question should a custom channel answer?

Choose a question tied to a decision you can make. For example, ask whether buyer and seller newsletters need different destination pages. Write the decision beside the proposed channel. Leave categories without a reporting purpose outside the first version.

## What belongs in the channel-rule worksheet?

Record the channel name, supported matching fields, expected values, excluded examples, and person maintaining the definition. Add the report where the result will be reviewed. Keep a copy of the approved worksheet with each later change.

This proposed worksheet uses synthetic values throughout. Require every condition in a row to match together. Replace the examples with approved, observed campaign conventions before implementation.

| Proposed channel | Source equals | Medium equals | Campaign name equals | Counterexample that must stay outside |
| --- | --- | --- | --- | --- |
| Seller newsletter | `newsletter_test` | `email` | `seller_update_test` | Same source and medium with `buyer_update_test` |
| Buyer newsletter | `newsletter_test` | `email` | `buyer_update_test` | Same source and medium with `seller_update_test` |
| Organic social campaign | `social_profile_test` | `social` | `consultation_test` | Same source and campaign with `paid_social` |
| Reviewed partner referrals | `partner_referral_test` | `referral` | `partner_page_test` | Same source with another campaign name |

The channel names are proposed reporting labels. The values establish neither existing traffic nor Google's default classification of a campaign.

## What if a proposed category has no supported matching field?

Leave it unimplemented until the requirement maps to a documented field. Compare the worksheet with [Google's supported-field list, checked 2026.10.22](https://support.google.com/analytics/answer/13051316?hl=en).

Record the unsupported distinction as an open reporting requirement. Ask whether a different report would answer the business question without changing the campaign conventions.

## How could the worksheet distinguish seller newsletters?

Propose a channel named Seller newsletter. Use the recorded source and medium together with an agreed seller-campaign name. Treat those values as a proposed specification. Check actual report rows before adopting it. No campaign values have been observed for your website here.

## What would a buyer-newsletter rule change?

Change only the part of the proposed definition that identifies buyer content. Keep shared conventions documented. Use synthetic labels such as `buyer_update_test` and `seller_update_test` in the worksheet. These labels describe examples, not sent campaigns or measured audience demand.

## How should a named-referral channel be scoped?

Define it from the source evidence associated with the approved relationship. Avoid a broad label that could collect unrelated referrals. Put the expected referring hostname or campaign value in a private worksheet. Keep the public article free of customer or partner identities.

## How should organic social stay separate from referral campaigns?

Use the worksheet's separate source and medium conditions together. The organic-social example requires its synthetic social source and medium. The partner example requires its own source and referral medium. Include a paid-social counterexample so the proposed organic label does not swallow the tested paid variant.

## How should conditions be translated into the interface?

Ask the maintainer to show the condition structure beside the worksheet. Google's editor supports condition groups. Require the saved definition to express the intended combined criteria. [Google's channel editor, checked 2026.10.22](https://support.google.com/analytics/answer/13051316?hl=en).

## What should count as a positive example?

Use a recorded or synthetic source row that should enter the proposed channel. Include every field used by the rule. Write the expected channel before the maintainer demonstrates the classification. Keep examples independent of how the rule was entered.

## What should count as a negative example?

Use a similar row that should remain elsewhere. For a seller-newsletter category, include buyer content and unrelated email as counterexamples. Ask the reviewer to explain each expected result from the worksheet. A category needs boundaries as well as matches.

## How should missing values be handled in the worksheet?

Mark their expected treatment explicitly. Do not invent a campaign name to complete an incomplete row. Refer the collection issue to the existing Unassigned article. Keep the proposed custom category dependent on evidence that the required source fields exist.

## How can a maintainer inspect category overlap?

Compare each example against every proposed channel before accepting the group. List all candidate matches beside the expected result. Resolve competing definitions in the worksheet. Keep general creation and ordering instructions in the linked Unassigned guide rather than repeating that setup here.

## How should a change be reviewed before use?

Require a before-and-after definition and the same example set. Ask the reviewer to approve the intended classification changes. Keep unexplained movement open. A changed channel name alone does not explain why a row moved or which condition caused it.

## Which reporting scope should the brief name?

Name session, user, or event scope deliberately. Google documents these as different traffic-source scopes. Choose the one that answers the worksheet's question. [Google traffic-source scopes, checked 2026.10.22](https://support.google.com/analytics/answer/11080067?hl=en).

## Where can the custom group be inspected?

Use a report that supports the custom channel dimension. Google's acquisition reports support custom groups. Save the chosen dimension and filters with the worksheet. [Google reporting support, checked 2026.10.22](https://support.google.com/analytics/answer/13051316?hl=en).

## Should this draft change the property's primary group?

Keep primary-group selection outside this proposed classification exercise. Google distinguishes retroactive custom reporting from the future population of a selected primary group. Request a separate decision before changing that setting. [Google primary-group behavior, checked 2026.10.22](https://support.google.com/analytics/answer/13051316?hl=en).

## Who should approve exceptions to campaign conventions?

Ask the report owner to approve the exception and its intended duration. Record the affected rule and example rows. Keep a reason for retaining the exception. Review it when the next campaign uses the shared convention so temporary workarounds do not become unexplained policy.

## Which baseline export should be retained before implementation?

Retain the original source rows, report scope, dates, and filters alongside the earlier channel definition. Compare the same underlying period when evaluating a replacement. Label the resulting movement as reclassification. Keep that review separate from any claim that a campaign attracted additional visitors.

## Can the worksheet assume the same behavior in audiences?

It should not. Google's audience effects apply going forward, and expanded datasets have separate limitations. Scope this worksheet to reporting unless another use receives its own review. [Google limitations, checked 2026.10.22](https://support.google.com/analytics/answer/13051316?hl=en).

## Should a real estate agent expect the group in BigQuery exports?

Google says custom channel groups are unavailable in the BigQuery Export Schema. Record any separate warehouse classification as a distinct implementation. [Google export limitation, checked 2026.10.22](https://support.google.com/analytics/answer/13051316?hl=en).

## What makes a channel-rule handoff maintainable?

Deliver the approved definitions, example rows, observed classifications, and report settings together. Name who updates the worksheet when campaign conventions change. Keep failed counterexamples visible. The recipient should be able to inspect why a category contains a row.

## What should a real estate agent send for implementation?

Send the reporting question, campaign conventions, proposed conditions, and expected examples. Include unresolved collection or cross-domain issues by reference to the existing guides. Request a [real estate website scope](/for/real-estate) when the job also requires website changes.

- [Why an AI response restarts after reconnecting](/articles/ai-response-restarts-after-reconnect)
- [When ChatGPT asks you to reattach files after a model change](/articles/chatgpt-model-switch-reattach-files-context)
- [Review unwanted GA4 referrals after a real estate booking](/articles/ga4-unwanted-referrals-agent-booking-return)


## Related: Real estate

- [Why an AI response restarts after reconnecting](/articles/ai-response-restarts-after-reconnect)
- [When ChatGPT asks you to reattach files after a model change](/articles/chatgpt-model-switch-reattach-files-context)
- [Review unwanted GA4 referrals after a real estate booking](/articles/ga4-unwanted-referrals-agent-booking-return)

----

```text
                  .|########||.                                       .|########||.                                       .|########||.
               |##||.      .||##|.                                 |##||.      .||##|.                                 |##||.      .||##|.
             |#|.              .|#|.                             |#|.              .|#|.                             |#|.              .|#|.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
        .#.                          .#|                    .#.                          .#|                    .#.                          .#|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
      |#             ......             #|                |#             ......             #|                |#             ......             #|
     .#           ||#########|           #|              .#           ||#########|           #|              .#           ||#########|           #|
    .#.         |######||######|.        .#.            .#.         |######||######|.        .#.            .#.         |######||######|.        .#.
    #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#            #.        .##|###|##|#|######|        .#
   ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||          ||        |##|#||||||||||||#||#|        ||
   #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.         #        |#||||||||||||||||||||#|        #.
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #        #       .#||||||||||||||||||||||||#|       #
 ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||      ||   ....|||#||||||##|#|||#|#||##||||....|. ||
 #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#      #.  .  ....|#  ....#|||   ||| .#|||  ....#. .#
 #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.     #   .  ||||#| .#####||  . .#| .#|||  ||||#   #.
.|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||    .|   |||||  #. |#|||||. ||  #. |#||. .|||||   ||
||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||    ||   |....  #. ....|#.      |. ...|. ....||   ||
#.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#    #.  .||||||##||||||##||####|||||||#||||||#|   .#
#    .||####|###########################|.     #    #    .||####|###########################|.     #    #    .||####|###########################|.     #
#      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #    #      .#||||||.#.|| # |. ..# #| #|||||#|      #
#      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #    #      .#|||||| ..  |# ## |#| ...#|#|||#|      #
#      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #    #      .#|||#|# .# .#| #| ##|.#..#|||||#|      #
#      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #    #      .#||||||############|######|||||#|      #
#   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #    #   |...||#||||||#||||#|#||||||#|||||#||| |.|  #
#. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#    #. .. ||||# .|||##|.  |#| .|| || .|||#. #|  # .#
|| |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||    || |  ...||  ...##| |  #| .|. |. #####  .. .| ||
|| ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||    || ||||| || ||||#|  .  |. |. |#. ||||| |#| || ||
.# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.    .# |.....#|....|#.||||.|||##.|#|....||.#||.#. #.
 #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#      #.|||||||#############################| ||| .#
 ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||      ||       ##||#||#||||||#||#||#||#||##.      ||
  #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #        #       .#|||||||||#||#|||||||||||#|       #
  ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||        ||       |#||||||||||||||||||||||#|       ||
  .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.        .#        |#||||||||||||||||||||#|        #.
   ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||          ||        |#||||||||||||||||||#|        ||
    #.        .######|#|#########|        .#            #.        .######|#|#########|        .#            #.        .######|#|#########|        .#
    .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.            .#.         |#####||||#####|         .#.
     |#           ||########||           #.              |#           ||########||           #.              |#           ||########||           #.
      |#             ......             #|                |#             ......             #|                |#             ......             #|
       |#.                            .#|                  |#.                            .#|                  |#.                            .#|
        |#.                          .#.                    |#.                          .#.                    |#.                          .#.
         .#|                        |#.                      .#|                        |#.                      .#|                        |#.
           |#|                    |#|                          |#|                    |#|                          |#|                    |#|
            .|#|.              .|#|.                            .|#|.              .|#|.                            .|#|.              .|#|.
               |##||.      .||##|                                  |##||.      .||##|                                  |##||.      .||##|
                 .||########||.                                      .||########||.                                      .||########||.

Scale With Search  2026  [scalewithsearch.com](https://scalewithsearch.com)
```
