Rule of thumb: The rows in the finite element matrix corresponds to the test function that's been multiplied to the PDE, while the columns in the finite element matrix corresponds to the weak solution (trial function).
Long answer: Say we consider the convection term in the diffusion-convection-reaction equation in a bounded open domain $\Omega$, with a maybe not divergence free convection vector $\mathbf{b}$:
$$
-\nabla\cdot(A\nabla u) + \underbrace{\mathbf{b}\cdot \nabla u}_{\text{Convection}} + cu = f,
$$
with zero Dirichlet boundary condition so that the trial function space for $u$ coincides with the test function space for $v$.
It doesn't matter you multiply the test function $v$ on the left or right:
$$
\int_{\Omega} v( \mathbf{b}\cdot \nabla u), \quad \text{compare with } \;
\int_{\Omega} (\mathbf{b}\cdot \nabla u)v,\tag{1}
$$
the corresponding matrix entry will be the same if $v$ is test function. If you perform integration by parts, the convection term will be different:
$$
-\int_{\Omega} \nabla \cdot(\mathbf{b}v) u, \quad \text{or } \;
-\int_{\Omega} u \nabla \cdot(\mathbf{b}v),\tag{2}
$$
If we let $u = \sum_{j=1}^N u_j\phi_j$, where $\phi_j$ is the basis function in your finite element space, plugging $u$'s expression into (1), and choose $v = \phi_i$ as the test function to get the $i$-th row the linear equation system:
$$
\int_{\Omega} A\nabla\Big( \sum_{j=1}^N u_j\phi_j\Big) \cdot \nabla \phi_i +
\int_{\Omega} \left( \mathbf{b}\cdot \nabla \Big( \sum_{j=1}^N u_j\phi_j\Big)\right)\phi_i +
\int_{\Omega} c \Big( \sum_{j=1}^N u_j\phi_j\Big)\phi_i= \int_{\Omega} f\phi_i.
$$
The matrix $B$ corresponding to the second convection term has entry:
$$
B_{ij} = \int_{\Omega} \phi_i ( \mathbf{b}\cdot \nabla \phi_j) = \int_{\Omega} ( \mathbf{b}\cdot \nabla \phi_j)\phi_i.
$$
It doesn't matter you multiply the test function on the left or on the right. The index in the $u$ corresponds to the column, while the index in $v$ corresponds to the row.
However, it does matter the differentiation is performed on which function, the trial function $u$ or the test function $v$. If you use (2) as your convection term in the bilinear form, the matrix $B$ will be different.
It seems to me that you confuse this difference with the "multiply the test function on left or right". Because in 1D, using the notation in your comment, $N N_x$ is matrix generated by (2), for this is performing the differentiation on the test function $v$. $N_x N$ is the matrix generated by (1), this is performing the differentiation on the trial function $u$.
Or you may confuse "multiply the test function on left or right" with the formalism of a non-symmtric bilinear form. In case the bilinear form for convection term is already defined as :
$$
b[u,v] := \int_{\Omega} v( \mathbf{b}\cdot \nabla u).
$$
Notice if you switch $u$ and $v$, it is
$$
b[v,u] := \int_{\Omega} u( \mathbf{b}\cdot \nabla v)
\\
=-\int_{\Omega} \nabla\cdot(\mathbf{b}u) v+
\int_{\partial \Omega} v(\mathbf{b}u)\cdot \mathbf{n}\,dS
\\
=-\int_{\Omega} (\nabla\cdot\mathbf{b}) u v-\int_{\Omega} (\mathbf{b}\cdot\nabla u) v
+ \int_{\partial \Omega} v(\mathbf{b}u)\cdot \mathbf{n}\,dS
\\
= -b[u,v]-\int_{\Omega} (\nabla\cdot\mathbf{b}) u v
+ \int_{\partial \Omega} v(\mathbf{b}u)\cdot \mathbf{n}\,dS.
$$
which is totally different, even after integration by parts. This is not about the position where we multiply this test function $v$. Like your said in the comments, if using "left" corresponds to column, "right" corresponds to row, to assemble the finite element matrix, you will get nowhere near correct matrix if divergence of $\mathbf{b}$ is not zero, also boundary terms doesn't vanishes if there exists Neumann boundary.
Maybe the minus sign in (2) makes you think this matrix is anti-symmtric, however it is not. Because the entry on its diagonal is not zero in general:
$$
B_{ii} = \int_{\Omega} \phi_i ( \mathbf{b}\cdot \nabla \phi_i) \neq 0.
$$
A matrix with non-zero diagonal can't be anti-symmetric.