Since the blood is brown, this would indicate that it's old blood rather than fresh blood. Why it would go on for nearly a month though I'm really not sure. I could take a few guesses that include an infection, an irritation to your cervix or a reaction to birth control.
I don't think it would have to do with pregnancy, but if you want to take a pregnancy test, it won't hurt. After that, contact your doctor and make an appointment to be seen. They can give you a pap smear to rule out more serious conditions, and then from there troubleshoot the cause, so you don't have to deal with the brown spotting long term.