csvsimple vs. conditional row coloring
Your error stems from \rowcolor
not being at the very beginning of the row. You can fix that by adding an additional \\
at the beginning of a row. It would also be better to use a filter (section 3.4 of the manual) to process conditionals:
\documentclass[12pt]{article}
\usepackage{csvsimple}
\usepackage[table]{xcolor}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.csv}
a,b,c,d
1,1,2,2
1,3,2,1
3,4,5,0
6,7,8,1
8,6,4,2
9,1,2,4
0,0,1,1
\end{filecontents*}
\begin{document}
\begin{tabular}{*{4}{c}}
\csvreader[head to column names,
full filter=\ifnumgreater{\d}{1}
{\\\rowcolor{gray} \csvfilteraccept}
{\\ \csvfilteraccept}
]{\jobname.csv}{}{\csvlinetotablerow}%
\end{tabular}
\end{document}