Courseiva
SPLK-1003Chapter 12 of 15Objective 3.5

CIM Data Normalization and Tagging

Why can't you just search for a username and get all the results from every system at once? Because your firewall, your server logs, and your cloud apps all call the same thing by different names — 'user', 'username', 'account_name', 'src_user' — so a simple search misses most of the data. CIM Data Normalization and Tagging solves this mess by forcing all that messy data into a single, predictable format, so you can run one search and actually find everything.

12 min read
Advanced
Updated Jul 23, 2026
Editorial oversight: Johnson Ajibi· Security Systems Architect · MSc IT Security · IEEE Senior Member

A simple way to picture CIM Data Normalization and Tagging

The Lost Luggage Tag Analogy

Your friend lands at a busy airport, and the conveyor belt spits out dozens of identical black suitcases. They all look the same, so your friend has no clue which one is theirs. This leads to frustration, lost time, and possibly grabbing the wrong bag.

Now, imagine if every suitcase, before it even left for the airport, had a bright sticker on it — a standardised tag that read "Passenger: Sarah Jones, Flight: BA123, Destination: Gate 12." Suddenly, your friend can walk past the sea of black bags, spot their tag in seconds, and head straight to the exit. The tag doesn't change what's inside the suitcase; it just makes it instantly recognisable and searchable.

This is exactly what the Common Information Model (CIM) does for IT data. Your network, servers, and security tools all dump data in different formats — like those identical black suitcases. CIM provides a universal "tag" — a set of standard field names like 'dest_ip' and 'user' — so every piece of data speaks the same language. Tagging then lets you add custom labels, just like a luggage tag, to group related data together. Without it, you're stuck rifling through every black bag. With it, you search once and find exactly what you need.

How It Actually Works

When you manage a company's IT systems, you collect logs — records of events — from dozens of different sources: firewalls, servers, laptops, cloud services, databases. Each of these sources was built by a different vendor, and each vendor chose their own names for the same concepts. For example, a firewall might record a user's activity in a field called 'src_user', a Windows server might call it 'UserName', and a custom application might use 'account_id'. If you search Splunk for 'user=jdoe', you'll only see results from the sources that used 'user' as a field name. You'll completely miss the data from the firewall and the Windows server. This is a disaster for security investigations and troubleshooting — you need to see the full picture.

The Common Information Model (CIM) fixes this by defining a standard set of field names that all Splunk data should use. Think of it as an agreement: "From now on, every log that describes a user incident will put the username in a field called 'user'." Splunk maintains this list of standard field names across different categories of data, called "data models." A data model is like a blueprint for a specific type of event. The most common data models you will encounter on the SPLK-1003 exam are: the Authentication data model (for login successes and failures), the Network Traffic data model (for connections between computers), the Web data model (for web server requests), and the Endpoint data model (for processes and files on a computer). Each data model has a list of required and optional fields. For instance, the Authentication data model requires a field called 'action' to store whether the login was 'success' or 'failure', and a field called 'user' to store the username.

So how does this actually work? The process of converting your raw, messy logs into CIM-compliant data is called "normalisation." It happens through two main tools in Splunk: field extractions and calculated fields. Field extractions are rules that tell Splunk how to pull out a piece of information from the raw log text. For example, a raw firewall log might look like this: "Dec 15 10:00:00 192.168.1.1 allow TCP 10.0.0.5 443" . A field extraction rule could tell Splunk: "when you see the word 'allow', put that value into a field called 'action'." Calculated fields take it a step further — they let you transform a value as you extract it. For example, if a Windows log stores the username as 'DOMAIN\jdoe', you could use a calculated field to strip the 'DOMAIN\' part and store just 'jdoe' in the 'user' field.

But normalisation alone is not enough. Your data now has standard field names, but you still need a way to group related events together. This is where tagging comes in. A tag is a label that you attach to a data source, a field value, or an event type. Tags help you categorise data so that you can find it later. For example, you might tag all logs coming from your firewalls with the tag 'firewall', and all logs from your web servers with the tag 'webserver'. Then, if you only want to search for web traffic, you can use the tag in your search: index=main tag=webserver. Tags are also essential for some of Splunk's advanced features, like the Splunk App for Enterprise Security, which relies on specific tags to automatically identify the type of data it's looking at.

The key insight is that CIM normalisation and tagging work together. The CIM normalisation gives you a consistent vocabulary for your data (standard field names), while tagging gives you a filing system to organise it. Without the CIM, tags would be useless because you'd be tagging fields that don't exist in most of your data. Without tags, the CIM would give you neat data but no way to easily separate "firewall events" from "server events." Together, they enable the consistent searching that the SPLK-1003 exam objective 3.5 demands. When you master this, you can write one search that finds all authentication failures across your entire IT environment, regardless of which systems generated them.

This flowchart shows how raw logs from different sources are normalised through field extractions, then tagged, enabling a single search to return results from all sources.

Walk-Through

1

Identify all data sources

List every system sending logs to Splunk (firewalls, servers, cloud apps). For each source, note the sourcetype (e.g., WinEventLog:Security) and any unique field names used in the raw logs. This step is critical because you cannot normalise data you don't know about.

2

Inspect raw sample events

Use the Splunk search 'index=* sourcetype=<sourcetype> | head 5' to view raw events. Look for the exact text that contains the username, action, IP address, and other fields you need to normalise. Write down the exact pattern (e.g., 'user=jdoe' or 'LoginID: jdoe'). This gives you the raw material for building extractions.

3

Define CIM field mappings

Decide which standard CIM field each piece of data should map to. For example, if the raw log has 'src_ip=10.0.0.5', map it to the CIM field 'src_ip' (the standard name for source IP). If the raw log has 'userName=jdoe', map it to the CIM field 'user'. Use the Splunk documentation on data models to find the required field names.

4

Create field extractions

In Splunk Web, go to Settings > Fields > Field Extractions. Create a new extraction for each source. Choose 'Inline' for simple patterns (like spaces separating values) or 'Regular Expression' for complex patterns. Test the extraction with sample data to verify it correctly populates the CIM field. If values need cleaning (e.g., removing a domain prefix), set up a calculated field instead.

5

Apply tags to normalised data

Once the data has the standard fields, go to Settings > Tags > Add New Tags. Create tags that group events by type (e.g., 'authentication'), by source (e.g., 'vpn'), or by severity. You can tag a specific field-value pair (e.g., 'action=failure' gets tag 'failed-login') or an entire sourcetype. Tags are case-sensitive and can be hierarchical.

What This Looks Like on the Job

Imagine you are a security analyst at a mid-sized company called 'Apex Retail'. Your job is to monitor for suspicious login attempts. You have three different systems: a Windows Active Directory server that logs every user logon, a VPN appliance that logs remote connections, and a cloud-based HR app that logs employee logins to their payroll portal. Each system stores its logs in a different location and uses different field names. The Windows server stores the username in a field called 'User', the VPN stores it in 'user_name', and the HR app stores it in 'login_id'. Furthermore, the Windows server calls a failed login 'Logon Failure', the VPN calls it 'Authentication Error', and the HR app calls it 'Invalid Credentials'. Without CIM normalisation and tagging, you cannot run a single search to see all failed logins in one place. You would have to run three separate searches and manually stitch the results together — a slow, error-prone process.

As a Splunk Power User, here is what you would actually do to fix this. First, you would work with an administrator to configure the Splunk Universal Forwarder on each source system. A Universal Forwarder is a lightweight piece of software installed on the machine sending logs; it collects the logs and sends them to the Splunk indexer. Once the logs arrive in Splunk, you would inspect a sample of raw events from each source. You would look at the raw text to see the exact format. For example, a sample raw event from the HR app might read: '2024-03-15 10:30:00 LOGIN_FAILURE for user jdoe from IP 10.0.0.100'.

Then, you would create field extractions. For the HR app's logs, you would create a regular expression (a pattern-matching rule) that says: 'when you see the word 'LOGIN_FAILURE', set the field 'action' to 'failure'.' You would create another extraction that says: 'when you see the word 'user', grab the next word and call it 'user'.' You would do the same for the VPN logs and the Windows logs, ensuring the 'user' field contains the username and the 'action' field contains 'success' or 'failure' in every case.

After setting up the extractions, you would use calculated fields to normalise the data further. For example, if the Windows logs store the username as 'APEX\jdoe', you would create a calculated field that removes 'APEX\' and sets the 'user' field to just 'jdoe'. Once the data is normalised, you would create tags. You would tag all events coming from the Windows server with 'authentication' and 'windows'. You would tag all events from the VPN with 'authentication' and 'vpn'. You would tag all events from the HR app with 'authentication' and 'hr-app'.

Now, when a security incident occurs, you can run a single search: 'tag=authentication action=failure | stats count by user'. This search looks across all three systems, finds every event that has the 'authentication' tag and where the 'action' field is 'failure', and gives you a single table showing which usernames had the most failed logins. This is exactly what the SPLK-1003 exam expects you to understand: how to design and use normalisation and tagging to solve a real-world problem. Without this skill, you are flying blind in a multi-source environment.

How SPLK-1003 Actually Tests This

The SPLK-1003 exam objective 3.5, 'Normalize data using CIM fields and tagging to enable consistent searching', is tested through several specific question patterns. The exam does not ask you to memorise every field name in the CIM — there are too many. Instead, it tests your understanding of the concept and your ability to apply it.

First, you will see definition questions. The exam will ask: 'What is the purpose of the Common Information Model (CIM) in Splunk?' The correct answer is that it provides a standard set of field names across different data sources to enable consistent searching. A common trap answer is 'it improves search speed' — that is false. The CIM is about data consistency, not performance.

Second, you will see scenario questions. For example: 'A company has logs from a firewall and a web server. The firewall uses the field 'src_ip' and the web server uses 'client_ip'. What should you do to search for events from both sources using a single field name?' The correct answer is to use field aliasing or calculated fields to map both 'src_ip' and 'client_ip' to a standard CIM field like 'src_ip' (which is the CIM field for source IP address). A trap answer might be to rename the fields in the source systems — you cannot modify the source logs, only how Splunk interprets them.

Third, the exam loves to test tagging. You will get questions like: 'An administrator wants to search only for events related to failed authentication attempts. Which feature allows them to group these events?' The answer is tagging. A common trap is to confuse tags with event types. Event types are used to identify patterns within a single event, while tags are used to categorise entire events or data sources. You will need to know that tags can be applied to field-value pairs (like 'action=failure') or to entire sourcetypes (the type of log source).

Fourth, the exam tests your understanding of the relationship between CIM and data models. A typical question: 'Which of the following is a benefit of using CIM-compliant data models?' The correct answer is that they allow you to use the Pivot tool to create visualisations without writing SPL. Data models are built on top of CIM fields, and the Pivot tool relies on data models. If your data is not CIM-compliant, the Pivot tool will not work properly. A trap answer is that data models replace the need for tags — this is false. Tags are still used alongside data models.

Key definitions to memorise for the exam:

CIM (Common Information Model): A set of standard field names and data models that Splunk uses to normalise data from different sources.

Data Model: A hierarchical, categorised structure of fields and constraints that represents a specific domain of data (e.g., Authentication, Network Traffic).

Tag: A label applied to an event, a field-value pair, or a sourcetype to categorise it for easier searching.

Normalisation: The process of transforming raw data into a consistent format using the CIM field names.

Field Extraction: A rule that tells Splunk how to pull a value from raw data into a field.

Calculated Field: An extraction that transforms a value while extracting it (e.g., stripping a domain prefix from a username).

Sourcetype: The type of data source, like 'WinEventLog' or 'nginx_access'. Tags can be applied to sourcetypes.

Key Takeaways

CIM stands for Common Information Model, a Splunk standard that defines a single set of field names so data from different sources can be searched consistently.

Tagging is the process of attaching a label (tag) to events, sourcetypes, or field-value pairs to categorise them for easier searching.

Normalisation does not change your original log files; it transforms how Splunk interprets the data through field extractions and calculated fields.

Data models are built on top of CIM fields and are required to use the Pivot tool for building visualisations without writing SPL.

The Authentication data model requires standard fields like 'action' (success/failure) and 'user', regardless of what the original source called them.

A single search like 'tag=authentication action=failure' can find events from firewalls, servers, and cloud apps if they have been properly normalised and tagged.

Field extractions use regular expressions or delimiters to pull values from raw log text into CIM-compliant fields.

To test if your normalisation worked, use the '| datamodel' command in Splunk to see if your data matches the data model constraints.

Easy to Mix Up

These come up on the exam all the time. Here's how to tell them apart.

CIM Normalisation

Involves creating field extractions to map raw data to standard field names

Must be done before effective tagging is possible

Uses field definitions and calculated fields to transform data

Tagging

Involves adding labels (tags) to categorise events and data sources

Relies on normalised data to be most effective

Uses the Tags editor to apply tags to field-value pairs or sourcetypes

Data Models

Are structured hierarchical definitions of fields and constraints

Required to use the Pivot tool for visualisations

Automatically validate that data matches a defined schema

Tags

Are simple flat labels attached to events or sources

Not required for Pivot (but data model is)

Do not validate data structure; they only categorise

Field Extractions

Extract a value from raw data without transforming it

Are usually defined using regular expressions

Can be created in a simple text-based UI

Calculated Fields

Extract and transform a value in a single step (e.g., strip a domain prefix)

Are usually defined in the transforms.conf file manually

Can combine multiple raw fields into one calculated field

Event Types

Are created by defining a search pattern that Splunk evaluates at index time

Are stored in the event itself as a field called 'eventtype'

Can only match against the raw text of an event

Tags

Are created by manually assigning labels through the Tags UI or configuration files

Are stored in the event as a field called 'tag'

Can be applied to field-value pairs or entire sourcetypes, not just raw text

Watch Out for These

Mistake

The CIM will automatically normalise any data I upload to Splunk.

Correct

The CIM is a set of guidelines and field definitions. You must actively configure field extractions, calculated fields, or use an app that does this for you. Splunk does not read your mind.

New users see the term 'Model' and confuse it with an automatic AI tool, rather than a standardised blueprint that requires manual implementation.

Mistake

Tags and field values are the same thing. I can just search for a field value instead of using tags.

Correct

Tags are metadata labels you attach to events, independent of the field value. A tag like 'authentication' can group many different field-value pairs together. Searching for a specific field value (e.g., action=failure) only finds events with that exact value; a tag can group all authentication events regardless of the action field's value.

Both tags and field values are used in searches, so beginners assume they serve the same purpose. They do not — tags are for categorisation, field values are data points.

Mistake

If I install the Splunk Common Information Model app, all my data will be normalised instantly.

Correct

The CIM app provides the data model definitions and the tags, but you still need to configure your data to map to those fields. The app includes some pre-built field extractions for common sourcetypes, but many custom sources require manual normalisation.

The word 'App' implies a plug-and-play solution. In Splunk, 'App' often means a set of configurations and dashboards, not a magic wand.

Mistake

CIM normalisation means I must change the original log files on the source machine.

Correct

Normalisation happens inside Splunk, at search time or index time, using field extractions. The original log files on the source machine remain unchanged. Splunk transforms the data as it reads it.

People from other fields often associate 'normalisation' with altering a database. In Splunk, it means transforming how the data is interpreted, not altering the source.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

How do I know if my data is already CIM compliant?

Run a search using the '| datamodel' command, like '| datamodel Authentication search'. If your data shows up in the results, it is CIM compliant for that model. Alternatively, check if the fields you are using match the field names in the official CIM documentation.

Can I use tagging without CIM normalisation?

Yes, you can tag raw, non-normalised events. However, your searches will still be limited because you cannot use standardised field names. Tagging without normalisation is like labelling boxes but never sorting the contents — you can find the box, but you still have to dig through the mess inside.

What is the difference between a tag and an event type?

An event type identifies a pattern within a single event (e.g., all events containing 'ERROR'). A tag is a label you manually assign to an event, a field-value pair, or a sourcetype. Tags are more flexible and can be applied to many different patterns, while event types are purely pattern-based.

Do I need to normalise every single field to use the CIM?

No. The CIM defines required fields and recommended fields for each data model. You only need to map the required fields for a data model to be considered compliant. For example, the Authentication data model requires 'user' and 'action' but not 'src_ip'. Focus on the required fields first.

What happens if I delete a tag that is being used in a data model?

The data model itself does not break, but any searches or dashboards that rely on that specific tag will stop returning results. The data model still works because it uses field values, not tags. However, tags are often used to filter data before the data model applies, so removing a tag can silently reduce your search results.

Can I automate normalisation for a new data source?

Yes. Splunk has a feature called 'Automatic Field Extraction' that attempts to identify fields in unfamiliar data. It works well for common formats like JSON and CSV, but for custom log formats, you must create manual extractions. There is no universal automation for arbitrary log formats.

Terms Worth Knowing

Keep going

You've finished CIM Data Normalization and Tagging. Continue through the SPLK-1003 study guide to build a complete picture of the exam.

Done with this chapter?