Skip to main content

What Is Tag Expiration?

Tag expiration is a feature for time-based tags that automatically removes a tag from a job after a specified number of days. This is designed for recruitment scenarios where timing matters — jobs have limited availability, follow-ups have deadlines, and opportunities grow stale if not acted on promptly. When you apply a time-based tag to a job, Recruitier calculates an expiration date by adding the tag’s configured duration (in days) to the current date and time. When that date arrives, the tag no longer appears on the job. This means you do not have to remember to manually clean up your tags. The system handles it for you, keeping your job collection organized and free of outdated labels. Time-based tags effectively create a self-managing to-do list built into your job organization.

How Time-Based Tags Work

Time-based tags differ from standard tags in several important ways:
FeatureStandard TagTime-Based Tag
DurationPermanent until manually removedAutomatically removed after configured days
Expiration dateNoneCalculated per job when applied
ConfigurationName + colorName + color + days duration
Behavior on jobStays until you remove itStays until expiration date, then disappears
Re-applicationReapplying has no effect (already present)Reapplying starts a new expiration period
The key distinction is that standard tags require manual lifecycle management (you add them, you remove them), while time-based tags manage their own lifecycle automatically. This makes time-based tags ideal for anything with a natural deadline or time window.

Creating a Time-Based Tag

1

Create a New Tag

Open the tag management area and click to create a new tag.
2

Enable Time-Based Setting

Toggle the “Time-Based” option to on. This reveals the duration field, which is required for time-based tags.
3

Set the Duration

Enter the number of days the tag should remain active when applied to a job. Choose a duration that matches your actual workflow rhythm:
  • 1-3 days for urgent follow-ups that need immediate action
  • 5 days for business-week deadlines
  • 7 days for weekly review cycles
  • 14 days for bi-weekly check-ins
  • 30 days for monthly pipeline reviews
  • 90 days for quarterly assessments
4

Name and Color

Give the tag a name that reflects its time-bound nature. Include the duration in the name so you know what to expect without checking settings. Examples: “Follow Up 3 Days,” “Review This Week,” “30-Day Pipeline.” Choose a color that signals urgency — warm colors like orange or red work well for short-duration tags, cooler colors for longer ones.
5

Save the Tag

Save your time-based tag. When you apply it to a job, the expiration date will be automatically calculated based on the duration you set.
The days_duration field is required for time-based tags and is not applicable for standard tags. You cannot create a time-based tag without specifying a duration. Once created, you can edit the duration, but changes only affect future applications — existing job-tag associations retain their original expiration dates.

Setting Expiration Dates

When you apply a time-based tag to a job, the expiration is calculated as follows:
expires_at = current_timestamp + days_duration
For example, if you apply a “7-Day Follow-Up” tag (7-day duration) on March 1 at 10:00 AM, the tag will expire on March 8 at 10:00 AM. The calculation includes the time component, not just the date. Each job-tag association has its own independent expiration date. If you apply the same time-based tag to three different jobs on different days, each one expires independently based on when it was applied:
JobDate AppliedDurationExpiration Date
Senior Developer at AcmeMarch 17 daysMarch 8
Frontend Engineer at BetaMarch 37 daysMarch 10
DevOps Lead at GammaMarch 57 daysMarch 12
The expiration is tied to the moment of application, not to the tag’s creation date. This means you can create a time-based tag once and apply it repeatedly, and each application starts its own independent countdown.

The Expiring Tags Dashboard

Recruitier provides visibility into which tags are approaching their expiration date, so you can take action before the deadline passes. The expiring tags view shows:
  • Job name — which job has an expiring tag
  • Tag name and color — which tag is expiring
  • Expiration date — when the tag will no longer be visible
  • Days remaining — a countdown showing how much time you have left to act
This dashboard acts as your daily action list. Instead of manually tracking deadlines and follow-up dates, the expiring tags view surfaces everything that needs attention within a given timeframe.
Make it a habit to check your expiring tags at the start of each workday. This gives you a clear list of time-sensitive items that need attention. A 30-second scan each morning keeps your pipeline moving and ensures nothing falls through the cracks.

Monitoring Approaching Expirations

You can view tags that are expiring within a specific timeframe using the time period filter. The available periods are:
  • Within 3 days — requires immediate or near-term action
  • Within 7 days — include in your weekly planning session (this is the default view)
  • Within 14 days — for bi-weekly planning and review
  • Within 30 days — for monthly pipeline oversight
The platform calculates the remaining days for each expiring tag in real time, so you always know exactly how much time you have. The countdown updates every time you view the dashboard. You can also manually refresh the data using the refresh button.

Practical Use Cases

Follow-Up Reminders

Create a “Follow Up in 3 Days” tag with a 3-day duration. Apply it to jobs after sending an initial outreach email. When the tag approaches expiration, it signals that it is time to send a follow-up message. After you follow up, apply a new instance of the tag to track the next follow-up cycle.

Time-Limited Job Openings

Some jobs have explicit application deadlines. Create a tag like “Closes in 14 Days” and apply it when you discover a time-limited opportunity. The expiration reminds you to complete your candidate submission before the deadline passes.

Candidate Availability Windows

If a candidate is available for the next 30 days, tag relevant jobs with a “Candidate Available 30 Days” tag. As the tag nears expiration, you know the window is closing and it is time to either make placements or have a conversation about extending availability.

Weekly Review Cycles

Create a “Review This Week” tag with a 7-day duration. Apply it on Monday to the jobs you plan to work on that week. Any you have not addressed by the following Monday will lose the tag, prompting a re-evaluation of whether those jobs still deserve attention or if your priorities have shifted.

Post-Interview Follow-Up

After scheduling an interview for a candidate, tag the job with a “Post-Interview Follow-Up” tag set to expire 2 days after the interview date. This ensures you remember to check in with both the candidate and the client shortly after the interview.

New Job Freshness

Tag newly saved jobs with a “New - 7 Days” tag. This gives you a week to review and properly categorize each new job. After a week, the tag expires, and any unreviewed jobs naturally lose their “new” status. You can then filter for untagged jobs to find ones that slipped through your initial review.

Urgent Follow-Ups

Use 1-3 day durations for items that need immediate attention. Red or orange colors create visual urgency in your job list.

Weekly Cycles

Use 7-day durations for weekly planning and review cycles. Apply on Monday, let them expire by the following week.

Monthly Reviews

Use 30-day durations for longer-term tracking. Ideal for monitoring opportunities that are developing slowly or have long hiring timelines.

Custom Durations

Set any number of days that fits your workflow. 5 days for a business week, 10 days for a sprint, 90 days for a quarterly review.

What Happens When a Tag Expires

When a tag’s expiration date is reached:
  1. The tag is no longer displayed on the job. It effectively disappears from the job card and detail view.
  2. The job itself is not affected in any way — only the tag label is removed.
  3. The tag itself remains in your library and can be applied again to the same or other jobs.
  4. Re-applying the same tag to the job starts a completely new expiration period from the moment of re-application.
Expired tags are removed silently. There is no push notification or email alert when a tag expires. The expiration itself is the signal — you are expected to monitor the expiring tags dashboard proactively. If you need active reminders, check the expiring tags dashboard at the start of each workday.

Combining Time-Based and Standard Tags

Most effective tagging systems use both types together:
  • Standard tags for permanent categorization: client names, role types, industries, skill categories.
  • Time-based tags for temporary workflow states: follow-up reminders, review deadlines, availability windows, urgency markers.
A job might have “Client: Acme Corp” (standard, permanent) and “Follow Up in 3 Days” (time-based, expires automatically). The standard tag stays on the job indefinitely, providing lasting context, while the time-based tag manages your workflow timing and cleans itself up. This combination is powerful because it gives you two independent organizational dimensions: what the job is (standard tags) and when you need to act on it (time-based tags).
A practical system: use standard tags for all categorization (client, skill, stage) and time-based tags exclusively for action reminders. This separation means your time-based tags never clutter your categorization, and your standard tags are never used for workflow management. Each type does what it does best.

Best Practices

  • Match duration to workflow. Set durations that align with how you actually work. If you review opportunities weekly, 7-day tags make sense. If you check in every three days, use 3-day tags. Mismatched durations create frustration — either tags expire before you act, or they linger past their usefulness.
  • Use visual urgency. Assign warm colors (red, orange) to short-duration tags and cooler colors (blue, green) to longer ones. This creates a visual “heat map” on your job list where hot colors mean approaching deadlines.
  • Check expirations daily. A 30-second scan of your expiring tags each morning keeps your pipeline on track. This is more effective than relying on memory alone.
  • Do not over-use. Time-based tags are most effective when reserved for genuinely time-sensitive items. If everything is “urgent,” nothing is. Reserve time-based tags for items where the timing truly matters.
  • Re-apply when needed. If you did not get to a tagged job before expiration, re-apply the tag to start a new countdown. Do not feel bad about this — it is a normal part of the workflow, not a failure. Sometimes priorities shift and the follow-up needs to wait another week.
  • Include duration in the name. Names like “Follow Up 3 Days” or “7-Day Review” make the expected behavior obvious without needing to check the tag settings.

Advanced

Lazy (Passive) Expiration Model

The most important technical detail about tag expiration is that it uses lazy evaluation (also called passive expiration). There is no background process, cron job, or scheduled task that periodically scans for expired tags and removes them. Instead, the expiration check happens at query time — every time tags are loaded for display. When Recruitier loads tags for a job (or for a list of jobs), the query includes a condition that filters out any job-tag associations where expires_at is not null and expires_at < current_timestamp. This means:
  • No cleanup lag: There is zero delay between a tag’s expiration time and its disappearance. The moment the clock passes the expires_at timestamp, the tag is excluded from the next query.
  • Precision to the second: The expiration is not rounded to the nearest day or hour. If a tag was applied at 10:32:15 AM with a 3-day duration, it expires at exactly 10:32:15 AM three days later.
  • No database writes on expiration: Expired associations are not deleted from the database when they expire. They are simply filtered out of query results. This means the historical record of “this tag was applied to this job from date A to date B” is preserved in the database, even though it is not visible in the UI.
This design choice has practical implications: it is efficient (no background processing needed), precise (evaluated at the exact moment of access), and non-destructive (historical data is preserved).

Re-application Behavior

When you re-apply a time-based tag to a job where it previously existed (and expired), the system creates a new junction record with a new created_at and new expires_at. The old expired record may still exist in the database but is invisible due to the expiration filter. The new record starts a completely fresh countdown.

Editing Tag Duration After Creation

If you change the days_duration of an existing time-based tag, the change only affects future applications. Any jobs that already have the tag retain their original expires_at timestamps. This is because the expiration is stored on the job-tag association, not recalculated from the tag’s current duration. For example, if you have a 7-day tag and change it to 14 days, jobs tagged before the change still expire after 7 days. Only newly tagged jobs will expire after 14 days.

Interaction with Batch Operations

When batch-applying a time-based tag, each job in the batch receives its own individual expires_at calculation. Since the batch processes jobs sequentially (though very quickly), each job’s created_at is technically a few milliseconds apart. In practice, this difference is negligible — all jobs in a batch will expire within the same second.

Interaction with Tag Deletion

If you delete a time-based tag, all its associations (including expired ones and still-active ones) are removed through cascading deletion. This means the tag and all its history are permanently removed, regardless of expiration status.

Connection to the Expiring Tags Dashboard

The expiring tags dashboard queries all non-expired time-based tag associations and calculates the remaining time for each. It sorts by expires_at in ascending order (soonest expiration first) and can filter by time horizon (today, 3 days, 7 days). This query is efficient because the expires_at column is indexed.

Edge Cases

  • Zero-day duration: Setting a duration of 0 days means the tag expires immediately upon application. This has no practical use and should be avoided.
  • Very long durations: Durations of 365+ days are technically valid but defeat the purpose of time-based tags. If you need a tag to last that long, consider using a standard tag instead.
  • Timezone handling: Expiration is calculated and evaluated in UTC. The displayed countdown in the UI is converted to your local timezone for readability.
  • Clock sync: Since expiration is evaluated at query time against the server clock, client-side clock differences do not affect expiration accuracy. A tag that “should” be expired will be filtered out regardless of what time your browser thinks it is.