It really depends upon what you are trying to do with the protein of interest, N-terminal tagging can affect your protein localization whereas C-terminal tagging may not give a proper GFP signal in some cases after protein folding. So it will always depend on your desired outcomes after fusing GFP with the protein.
If I want to express a protein and look for its localization inside the cells, then which terminal should I be using? Can you give some thoughts on the choice of terminal & outcomes with some examples?
Tagging at the N-terminus instead of the C-terminus greatly increases the risk of the protein not localizing correctly, due to masking of the signal sequence at the N-terminus. Tagging at the C-terminus is thus better for preserving localization. However, there are exceptions to this. For instance, there are a handful of proteins that localize to cell walls or the ER. These often contain C-terminal signal sequences, which can be interrupted by C-terminal tagging.
The tagging strategy will also depend on protein folding. Sometimes the C-terminus may get buried inside the protein, in which case you may never get a GFP signal.
So, I would suggest you may think of tagging both the C- as well as the N-terminal. You may get both N- and C- terminal working or only one could work. This may very much increase your chances of success.
If your C-terminal end is not hydrophobic or located at the core of the protein (if the native structure is already known or predicted), it is better to tag at the C-terminal. It has several advantages over N-terminal tagging. In N-terminal tagging, you may disrupt the promoter region. If both N-terminal and C-terminal ends possess catalytic domains, you can use internal tagging. You should always use some linker between the protein of interest and GFP for efficient folding of GFP. I am attaching two articles for better understanding.