Let $\mathbf F : \mathbb R^p \to \mathbb R^s$ and $\phi : \mathbb R^p \to \mathbb R$ be differentiable functions. Let the function $\mathbf G$ be defined as follows: $$\mathbf G : \mathbb R^p \to \mathbb R^s \qquad \mathbf G(\mathbf y) = \phi(\mathbf y)\mathbf F(\mathbf y)$$
Furthermore, let $y_0$ be a point in $\mathbb R^p$. Then the Jacobian of $\mathbf G$ and of $\mathbf F$ at $y_0$, denoted respectively $D\mathbf G(y_0)$ and $D\mathbf F(y_0)$ are $s \times p$ matrices, whereas the Jacobian of $\phi$ at $y_0$, denoted $D\phi(y_0)$, is a row vector $p$ entries long and may thus be turned into a gradient: $$\nabla \phi(y_0) \doteq D\phi(y_0)^\top$$
Now the question is, how can I express $D\mathbf G(y_0)$ in terms of the other two Jacobians? I tried recklessly applying the product rule, $$D\mathbf g(y_0) \stackrel{?}{=} \phi(y_0) D\mathbf F(y_0) + D\phi(y_0) \mathbf F(y_0) $$ but the dimensions of the matrices do not match up correctly. What am I doing wrong?