assign numbers/id based on a grouping variable

Dear all,

I have a dataset of this type:

subject     start_time     word     label
s1             1.00         go        g
s1             1.00         go        g        
s1             1.20         eat       t
s1             1.20         eat       t
s2             1.00         go        g
s2             1.00         go        g        
s2             1.20         eat       t
s2             1.20         eat       t
s3             1.00         go        g
s3             1.00         go        g        
s3             1.20         eat       t
s3             1.20         eat       t

and I would like to create an id column based subject and start_time. The output I am looking for is similar to this:

subject     start_time     word         id
s1             1.00         go           1
s1             1.00         go           1
s1             1.20         eat          2
s1             1.20         eat          2
s2             1.00         go           1
s2             1.00         go           1
s2             1.20         eat          2
s2             1.20         eat          2
s3             1.00         go           1
s3             1.00         go           1
s3             1.20         eat          2
s3             1.20         eat          2

Note that for each duplicate start_time within subject I want to assign one fixed number/value. I tried to use

dat %>% 
  group_by(subject, start_time) %>% 
  mutate(
    id= row_number())

But this did not work.

I also tried using this:

dat %>%
    group_by(subject, start_time) %>%
    mutate(id= cur_group_id()) 

it worked but the number continues progressively for each subject. for s1 it gives 1 1 2 2, for s2 it gives 3 3 4 4, for s3 it gives 5 5 6 6, and so on, which is not the thing I am looking for.

I would appreciate your help.
Thanks in advance!