header-world-map-country-labels.png

Company records often sit in the CRM without a region, owner, or sales tier assigned — or get assigned incorrectly when a rep manually enters the data. The Territory Assignment Example Blueprint assigns territory fields automatically based on a company's country, state, and industry, so records are routed correctly the moment they enter the system or when their location changes.

How this Blueprint Works

data-logic-example-blueprint-territory-assignment-915w.png

The Territory Assignment Example Blueprint (pictured above) matches records by evaluating country, state, and industry together, in three tiers of specificity. Rows combining all three inputs are evaluated first, followed by rows combining country and state only, and then rows matching on country alone. This ensures that a California technology company matches its specific row before a broader California row or a general US row is evaluated. Any record whose country isn't matched by an earlier row falls through to a catch-all row at the bottom of the Blueprint — called a Fallback Row — where every input cell is left blank. When a match is found, Data Logic writes region, territory owner, sales tier, and segment to the record.

  • Match on country and state together — The Country (Exact) and State (Exact) columns match records by their country and state values, each of which must be satisfied simultaneously with any other inputs in that row. Rows that leave either column blank — such as the country-level rows and the catch-all row at the bottom of the Blueprint — treat that blank cell as a wildcard for that column, matching any value in the corresponding CRM field rather than requiring it to be empty. This behavior is enabled in Data Logic's input mapping, covered in the Data Logic Configuration section below.
  • Match on industry within a territory — The Industry (Contains) column further qualifies rows where industry is relevant, so a California tech company matches a different row than a California finance company. Rows that leave Industry blank simply skip that column and match based on Country and State alone.
  • Write Sales Tier on Every Match — The Sales Tier (Always) column updates that field on every matching record, regardless of existing values, keeping tier assignments current as account profiles change.
  • Protect Manually Assigned Regions — The Region (Field Empty) column preserves any region value that has already been set on a record. How this is enforced is covered in the Data Logic Configuration section below.
  • Protect existing territory owner assignments — The Territory Owner (Field Empty) column preserves any owner value that has already been set on a record. How this is enforced is covered in the Data Logic Configuration section below.
  • Write segment only when the Blueprint row contains a value — The Segment (Output Non-Empty) column updates the segment field only when the matching Blueprint row contains a segment value, so rows without a segment— such as the state-level rows for California, New York, and Texas, or any of the country-only rows — do not erase an existing value on the record.

Blueprint Row Walkthrough

data-logic-example-blueprint-territory-assignment-915w.png

The Blueprint Preview pictured above shows all 16 rows of the Territory Assignment example.

Rows 2–4: Country, State, and Industry

The most specific rows combine all three input dimensions. Row 2 matches US companies in California with Technology in their industry, assigning AMER-West, west-ae@company.com as owner, Enterprise tier, and the Tech segment. Row 3 matches US companies in New York with Financial Services in their industry, assigning AMER-East, east-ae@company.com, Enterprise tier, and the FinServ segment. Row 4 matches US companies in Texas with Energy in their industry, assigning AMER-Central, central-ae@company.com, Mid-Market tier, and the Energy segment.

Rows 5–7: Country and State, Any Industry

These rows catch companies in the same three states, without restricting by industry, and include companies that didn't match the more specific row above them. Row 5 matches any US company in California, row 6 matches any US company in New York, and row 7 matches any US company in Texas — each assigns the same region and owner as its more specific counterpart above, but Mid-Market tier and no segment value.

Rows 8–15: Country Only

Country-level rows catch any company not matched by a more specific row above. Each row leaves State and Industry blank, treating those columns as wildcards and matching any value in the corresponding CRM fields. This behavior is configured in Data Logic's input mapping, covered in the Data Logic Configuration section below.

  • Row 8 is the US country-level catch-all, matching any US company not caught by rows 2–7 — for example, a company in Florida or Ohio. It assigns AMER, amer-pool@company.com as owner, and SMB tier, with no segment.
  • Rows 9–11 are country-level rows for the UK, Germany, and France, each assigning EMEA, emea-ae@company.com as owner, and Mid-Market tier, with no segment.
  • Row 12 matches Canada, assigning AMER rather than EMEA — Canada routes to the same region as the US, with amer-pool@company.com as owner and Mid-Market tier.
  • Rows 13–15 are country-level rows for Australia, Japan, and Singapore, all of which assign APAC and apac-ae@company.com as owner. Tier varies by country: Australia and Singapore receive Mid-Market tier, while Japan receives Enterprise tier.

Row 16: Fallback Row

Row 16 is the Blueprint's Fallback Row. With Blank Cell Matches Any enabled on Country, State, and Industry, every input cell in this row acts as a wildcard, so it catches any record whose country wasn't matched by an earlier row. It assigns Region = Unassigned, unassigned-pool@company.com as owner, and Review tier, making unmatched records immediately visible rather than left blank.

Data Logic Configuration

To configure the input mapping in the Data Management > Data Logic module, select the object type, then select the example Blueprint under Explore Examples, and then under 2. Input Mapping, add the following:

  • Blueprint column Country (Exact) maps to CRM field Country using Exact matching criteria, with Case Insensitive, Blank Cell Matches Any, and Trim Whitespace enabled. 
  • Blueprint column State (Exact) maps to CRM field State using Exact matching criteria, with Case Insensitive, Blank Cell Matches Any, and Trim Whitespace enabled. 
  • Blueprint column Industry (Contains) maps to CRM field Industry using Contains matching criteria, with Case Insensitive and Trim Whitespace enabled.
data-logic-input-mapping-territory-assignment-733w.png

To configure the output mapping, under 3. Output Mapping, add the following:

  • Blueprint column Region (Field Empty) maps to CRM field Region with update condition Field Empty
  • Blueprint column Territory Owner (Field Empty) maps to CRM field Territory Owner with update condition Field Empty
  • Blueprint column Sales Tier (Always) maps to CRM field Sales Tier with update condition Always
  • Blueprint column Segment (Output Non-Empty) maps to CRM field Segment with update condition Output Non-Empty.
data-logic-output-mapping-territory-assignment-646w.png

Using an Example Blueprint as a Starting Point

The example Blueprint in this article is available directly in the Data Logic module under 1. Pick Blueprint > Explore Examples. Rather than building a Blueprint from scratch, you can use any example as a starting point and tailor it to match your specific field values, scoring criteria, or business rules.

To use an example Blueprint as a starting point:

  1. In Data Management > Data Logic, under 1. Pick Blueprint, select Explore Examples.
  2. Select the example Blueprint you want to use. Click the Preview icon to review the table structure and column values before proceeding.
  3. In the Blueprint Preview, click Download to save the Blueprint as a CSV file.
  4. Open the CSV file and tailor the values to match your CRM data — update field values, scoring ranges, date ranges, owner assignments, or any other values specific to your business.
  5. When your CSV is ready, navigate to Operations > Blueprints and upload it as a new Blueprint.
  6. Return to Data Management > Data Logic, select your uploaded Blueprint under 1. Pick Blueprint > Select Existing, and configure your input and output mapping.

 Note: Some CRM fields referenced in the example Blueprints may not exist by default in your CRM and will need to be created as custom fields before configuring your input and output mapping.

If no Blueprint row matches a record, Data Logic applies the fallback values configured in your output mapping rather than leaving those fields empty. When tailoring an example Blueprint, consider what default state non-matching records should receive and configure fallback values in your output mapping accordingly. For more information, see What Happens When a Record Does Not Match Any Blueprint Row? in the Module Overview.

Frequently Asked Questions

What happens if I leave an input cell empty in my Blueprint?

By default, what happens when an input cell is left empty in a Blueprint depends on the matching criteria configured for that column in Data Logic. Empty cells behave differently under Exact matching versus all other criteria. This default behavior can be overridden per column using the Blank Cell Matches Any Match Option — see Is there a way to mark a cell as a wildcard instead of leaving it blank? below.

Under Exact matching, an empty cell matches records where the corresponding CRM field also has no value — this is how a row with no input values can act as a catch-all for records missing data. Under all other criteria, an empty cell is simply skipped — the row can still match based on whichever other input columns are populated, but the empty cell itself places no condition on the record. 

This is the pattern used throughout the Lead Source Harmonization Blueprint (pictured below): each row populates only one input column, leaving the others empty. For example, rows 2 and 3 populate only the Lead Source (Contains) column, leaving the Lead Source Original (Exact) and Referrer Domain (Ends With) columns blank. Because Lead Source Original uses Exact matching, a blank cell in that column would match records where the Lead Source Original CRM field has no value — but since rows 2 and 3 are already matched by the Lead Source (Contains) condition, those records never reach the Lead Source Original column for evaluation. For the Referrer Domain (Ends With) column, the blank cell is simply skipped, placing no condition on the record.

data-logic-example-blueprint-Lead-Source-Harmonization-1071w.png

The Territory Assignment Blueprint, covered earlier in this article, shows the same default behavior from a different angle. Its Industry (Contains) column relies on the default skip behavior described above: rows that leave Industry blank, such as the state-level rows (rows 5–7) and the country-level rows (rows 8–15), skip that condition entirely and match based on Country and State alone. Country and State both use Exact matching, where a blank cell would default to matching only records with an empty CRM field — but Territory Assignment instead enables the Blank Cell Matches Any Match Option on both columns, overriding that default so a blank cell acts as a wildcard instead. See, I want a row to apply broadly without restricting by a particular field. Can I leave that cell empty? below for how that override works.

data-logic-example-blueprint-territory-assignment-915w.png

What happens with an empty cell under Exact matching?

By default, an empty cell under Exact matching causes Data Logic to match records whose corresponding CRM field is also empty. This is intentional — it lets you define specific outcomes for records that are missing data in a given field. In the Lead Source Harmonization Blueprint above, this is why a blank cell in the Lead Source Original (Exact) column would match records with no Lead Source Original value, rather than being skipped.

The Territory Assignment Blueprint also uses Exact matching on its Country and State columns, but overrides this default with the Blank Cell Matches Any Match Option on both — see I want a row to apply broadly without restricting by a particular field. Can I leave that cell empty? below for how that override changes the behavior described here.

What happens with an empty cell under any other matching criteria?

By default, an empty cell under any matching criteria other than Exact is simply skipped — it places no condition on the record, and the row can still match based on whichever other input columns are populated. This applies to all other criteria: Contains, Contains Word, Starts With, Ends With, Regex, any numeric comparison, and any date comparison. In the Lead Source Harmonization Blueprint above, this is why blank cells in the Referrer Domain (Ends With) column on rows 2 and 3 don't prevent those rows from matching — the empty cell is ignored, and the Lead Source (Contains) condition drives the match.

I want a row to apply broadly without restricting by a particular field. Can I leave that cell empty?

There are two ways to make a row apply broadly without restricting by a particular field, and they behave differently.

If you want a column to never act as a condition anywhere in the Blueprint, omit that input column from the mapping entirely in Data Logic. Unmapped columns are not evaluated as conditions, so every row will match based only on the columns that are mapped.

If you want some rows to ignore a column while other rows still use it for matching, map the column as usual and enable Blank Cell Matches Any on it. With this Match Option enabled, a blank cell in that column acts as a wildcard for that row only — rows that populate the column still match against it normally, while rows that leave it blank skip that condition. This is the pattern used in the Territory Assignment Blueprint, where Country and State both have Blank Cell Matches Any enabled: rows that specify a state match only companies in that state, while rows that leave State blank apply to any state within the matched country.

Is there a way to mark a cell as a wildcard instead of leaving it blank?

Yes. The 'Blank Cell Matches Any' Match Option provides a dedicated, intentional way to mark a cell as a wildcard. When enabled on an input column, a blank cell in that column matches any value in the corresponding CRM field, regardless of Matching Criteria — distinct from the default empty-cell behavior described above, which depends on whether the column uses Exact matching or another criteria. See How does 'Blank Cell Matches Any' Match Option affect row matching? in the Data Logic & Blueprints FAQs for full details.

When Blank Cell Matches Any is enabled on every input column in a row, and that row is placed last in the Blueprint, it becomes a Fallback Row — see Fallback Row vs. Fallback Value, in the Module Overview, for when to use this pattern instead of a Data Logic fallback value.

How does 'Blank Cell Matches Any' Match Option affect row matching?

By default, how a blank cell in a Blueprint input column is handled depends on the Matching Criteria configured for that column. With Exact matching, a blank cell matches only records where the corresponding CRM field is also empty. With any other criteria, a blank cell is skipped and places no condition on the record.

Enabling Blank Cell Matches Any on an input column changes this: a blank cell in that column matches any value in the corresponding CRM field, regardless of Matching Criteria, turning that column into a wildcard for that row. Other input columns in the same row are unaffected and still need to satisfy their own Matching Criteria.

When 'Blank Cell Matches Any' is enabled on all input columns, a row with every input cell left blank matches any record that reached it — this is called a fallback row. Placed as the last row in the Blueprint, it catches every record not matched by an earlier row. This makes it possible to build sparser Blueprints, where a single row applies broadly across one dimension — such as state or industry — while still requiring an exact match on another dimension — such as country — without needing a separate row for every combination of values.