Você pode modificar seu INSERT para algo assim:
INSERT INTO tablename (tag)
SELECT $tag
FROM tablename
WHERE NOT EXISTS(
SELECT tag
FROM tablename
WHERE tag = $tag
)
LIMIT 1
Onde
$tag
é a tag (corretamente citada ou como um espaço reservado, é claro) que você deseja adicionar se ainda não estiver lá. Essa abordagem nem mesmo acionará um INSERT (e o subsequente desperdício de autoincremento) se a tag já estiver lá. Você provavelmente poderia criar um SQL melhor do que isso, mas o acima deve fazer o truque. Se sua tabela estiver indexada corretamente, o SELECT extra para a verificação de existência será rápido e o banco de dados terá que realizar essa verificação de qualquer maneira.
Essa abordagem não funcionará para a primeira tag. Você pode semear sua tabela de tags com uma tag que você acha que sempre será usada ou você pode fazer uma verificação separada para uma tabela vazia.