How Tagging Works
Tagging a job creates an association between the job and one or more of your custom tags. Once tagged, jobs can be filtered, sorted, and visually identified by their tags. A job can have any number of tags, and a tag can be applied to any number of jobs — the relationship is fully flexible. Tags appear as colored labels on job cards in your job list, giving you instant visual cues about the status, priority, or category of each opportunity. The combination of tag name and color creates a visual language that becomes second nature once you have been using it for a few days.Tagging a Single Job
The most common way to tag a job is from the job detail page.Open the Job
Navigate to your saved jobs and click on the job you want to tag. This opens the job detail view with the full job description, company information, and your organizational metadata.
Find the Tags Section
On the job detail page, look for the tags area. This displays any tags currently applied to the job and provides options to add or remove tags.
Select a Tag
Click to add a tag. A dropdown or selection panel appears showing all your available tags, each with its name and color. Time-based tags are marked with a duration indicator. Click on the tag you want to apply.
Selecting from Existing Tags
When you add a tag to a job, you see a list of all tags you have created. The list includes:- Tag name — the text label
- Tag color — the visual color indicator
- Time-based indicator — if the tag has an expiration setting, the duration (e.g., “7 days”) is shown
- Already applied indicator — tags that are already on this job are visually distinguished so you know which ones are new
Tags are user-specific. You only see tags that you have created (or shared agency tags if you are part of an agency). Team members cannot see or apply each other’s personal tags. If you need shared categorization, consider using Projects or agency-shared tags.
Creating Tags on the Fly
You do not have to pre-create all your tags before using them. If you are looking at a job and realize you need a new tag that does not exist yet:- Use the tag management area to create a new tag with the name, color, and optional time settings you need.
- Return to the job and apply the newly created tag.
Applying Multiple Tags to a Job
Jobs are not limited to a single tag. You can apply as many tags as you need to capture different dimensions of how you categorize a job. For example, a single job might have:- Client: Acme Corp — identifies the client
- High Priority — marks it as urgent
- Backend — categorizes the technical domain
- Follow Up 3 Days — sets a time-based reminder to follow up (expires automatically)
There is no practical limit to how many tags you can apply to a single job. However, for readability on job cards, aim for three to five tags per job. More than that can clutter the visual display and reduce the effectiveness of at-a-glance scanning.
Removing Tags from Jobs
To remove a tag from a job:
Removing a tag from a job does not delete the tag itself. The tag remains in your tag library and can be applied to other jobs. Only the association between that specific job and that tag is removed.
For time-based tags, you can remove them manually before they expire if the situation changes. For example, if you tagged a job with “Follow Up 3 Days” but then had the conversation earlier than expected, simply remove the tag manually. You do not need to wait for it to expire.
Viewing Which Tags Are Applied to a Job
Tags are visible in two places:On the Job Detail Page
The full list of applied tags is shown on the job detail page. Each tag displays its name and color. For time-based tags, you can also see the expiration date and remaining time, helping you plan your actions.In the Job List View
When browsing your saved jobs, each job card shows its applied tags as colored labels. This makes it easy to scan a list of jobs and visually identify their categories, priorities, or statuses without opening each one.| View | What You See |
|---|---|
| Job list | Small colored tag labels on each job card, providing at-a-glance categorization |
| Job detail | Full tag names with color, expiration dates for time-based tags, and options to add or remove |
Time-Based Tags and Expiration
When you apply a time-based tag to a job, Recruitier automatically calculates an expiration date based on the tag’s configured duration. For example, if you have a “7-Day Follow-Up” tag with a 7-day duration, applying it to a job today sets the expiration date to 7 days from now. The tag remains visible on the job until it expires. After expiration, the tag is no longer shown on the job. This is useful for:- Setting follow-up reminders that clean themselves up
- Tracking time-limited opportunities with built-in deadlines
- Ensuring stale tags do not accumulate on jobs over time
- Creating a natural “to-do list” of time-sensitive items
What Happens When a Job Is Deleted
If you delete a saved job, all tag associations for that job are removed as well. The tags themselves remain in your library — they are just no longer associated with the deleted job. Similarly, if you delete a tag, all associations between that tag and your jobs are removed. The jobs are not affected — they simply lose that particular tag label.Common Tagging Patterns
Here are some practical examples of how recruiters use tags effectively:Pattern 1: Client Pipeline
Tag every job with the client you plan to pitch it to. This lets you quickly filter to see all opportunities you have collected for a specific client meeting. When the meeting happens, you have a curated list ready.Pattern 2: Weekly Planning
Use priority tags (Urgent, This Week, Next Week) to plan your outreach schedule. Review and update these tags at the start of each week. Consider making these time-based (7-day duration) so they automatically clear at the end of each cycle.Pattern 3: Source Tracking
Tag jobs based on how you found them: “From Search,” “From Client Page,” “From Recommendation.” This helps you understand which sourcing channels produce the best opportunities over time.Pattern 4: Skill Tags
Tag jobs with the primary skill or technology: “Python,” “Java,” “React,” “DevOps.” This lets you quickly match candidates to jobs by filtering for their primary skill when a strong candidate becomes available.Pattern 5: Outreach Status
Track your outreach progress with tags like “Not Contacted,” “First Email Sent,” “Awaiting Reply,” “Meeting Scheduled.” This creates a visual pipeline on your job list that shows where each opportunity stands in your outreach process.Advanced
How Tagging Works Under the Hood
When you tag a job, Recruitier creates a record in a junction table (JobTag) that links the job ID to the tag ID. This record includes:- job_id — The ID of the job being tagged
- tag_id — The ID of the tag being applied
- created_at — The timestamp when the tag was applied
- expires_at — For time-based tags, calculated as
created_at + tag.days_duration. For standard tags, this field is null.
Expiration Is Evaluated Lazily
A key technical detail: time-based tag expiration is passive (also called lazy evaluation). There is no background process or scheduled task that runs periodically to remove expired tags. Instead, every time tags are loaded for display, the system checks whether the current date has passed theexpires_at timestamp. If it has, the tag is simply not included in the results.
This means:
- Expired tags are not physically deleted from the database at the moment they expire
- The expiration is evaluated at query time, making it precise to the moment you view the job
- You will never see a “stale” expired tag because the check happens every time data is loaded
Batch Loading for Performance
When Recruitier renders your job list, it does not query tags one job at a time. Instead, it collects all visible job IDs and makes a single batch query to retrieve all their tags at once. Thisget_tags_for_multiple_jobs() approach means that whether you are viewing 10 jobs or 100 jobs, the tags are loaded with the same number of database queries. This is why large job lists with many tags remain responsive.
Connection to Filtering
Tags connect directly to the job list filtering system. When you apply a tag filter, the system queries the junction table to find all job IDs that match the selected tags, then uses those IDs to filter the main job query. This architecture means tag filtering is efficient even with thousands of tagged jobs.Connection to Projects
Tags and projects operate independently but complement each other. A job’s tags persist regardless of which project (if any) its parent search belongs to. When viewing jobs through the project detail page, tags are still visible and filterable. This means you can combine project-level organization (grouping by client engagement) with tag-level categorization (priority, skill, stage) for multi-dimensional organization.Business Rules
- A tag can only be applied to saved jobs. You cannot tag a job that exists only in search results — you must save it first.
- Tag names do not need to be globally unique, but having two tags with the same name will cause confusion. Use distinct names.
- Deleting a tag cascades to remove all its job associations, but deleting a job also removes all its tag associations. The cleanup is bidirectional.
- There is no undo for tag removal. Once a tag is removed from a job (manually or through expiration), the association record is gone. You can re-apply the tag, but the original
created_attimestamp is lost.
There is no “right” way to use tags. The best system is the one that matches how you actually think about and organize your work. Start simple, and add complexity as you need it.

